验证漏洞是确保系统安全性的重要步骤,以下是一些常见漏洞的验证方法:
一、跨站脚本(XSS)
1、GET方式跨站脚本
原理:攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码。
验证方法:在输入的参数后逐条添加以下语句,如http://www.example.com/page.xxx?name=<script>alert(523468)</script>,如果其中一条弹出显示523468的告警框,就说明存在跨站漏洞,如果没有弹出告警框,则查看网页源代码中是否包含完整的<script>alert(523468)</script>字符串。
2、POST方式跨站脚本
原理:同GET方式。
验证方法:一般可以利用hackbar插件的Enable Post data插入验证内容。
二、框架注入、链接注入
原理:由于脚本没有对它们正确验证,攻击者有可能注入含有恶意内容的frame或iframe标记。
验证方法:通过对网站中的get提交的url中的参数进行框架或者链接注入,注入到参数id。
三、允许TRACE方法
原理:HTTP协议定义的一种协议调试方法,该方法使得服务器原样返回任何客户端请求的内容。
验证方法:利用bp截包,将GET改为TRACE,单次发包,看是否会提醒保存文件。
四、Struts2远程命令
原理:作为网站开发的底层模板使用,是应用最广泛的Web应用框架之一,一种漏洞类型是使用缩写的导航参数前缀时的远程代码执行漏洞。
验证方法:把url粘贴到K8中,获取信息运行,如果是Windows系统就用ipconfig等命令,如果是Linux系统就用ifconfig看是否能执行。
五、Struts2 URL跳转S2-017
原理:Struts2远程命令的第二类漏洞,是使用缩写的重定向参数前缀时的开放式重定向漏洞。
验证方法:通过使用“redirect:”或“redirectAction:”前缀参数是来支持短路导航状态更改的方法,然后是所需的重定向目标表达式,原始网址为http://127.0.0.1:8080/showcase.action;修改后为http://127.0.0.1:8080/showcase.action?redirect:http://www.baidu.com/,这样在浏览器运行会跳转到百度的链接。
六、SQL注入
原理:web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句。
验证方法:在实际验证过程中常见的有经常出现的SQL注入漏洞是SQL盲注,可以使用sqlmap工具进行验证,例如sqlmap -u "url"。
七、不安全的HTTP方法
原理:HTTP协议定义了一组被称为安全方法的方法:GET、HEAD、OPTIONS、TRACE,这些方法不会产生什么动作,不会在服务器上产生结果,只是简单获取信息,相对的,能产生动作的方法就会被认为是不安全的HTTP方法。
验证方法:分为两步:查询资源支持的方法、验证方法是否真的支持,首先正常请求,抓包,然后将请求包中的请求方法修改为OPTIONS,提交,如果成功,响应包中就会出现一个Allow首部字段,里面列出了URL指定资源所支持的方法列表,进一步验证该资源是否真的支持不安全的HTTP方法,可以通过修改为TRACE方法试试,如果响应包主体中包含接收到的请求,则证明支持TRACE方法,系统存在漏洞。
在进行漏洞验证时,应遵循一定的准则,如随机性、确定性、通用性和无损性,需要注意风险管理和注意事项,如需授权、记录出口地址以及根据漏洞类型谨慎操作。
小伙伴们,上文介绍验证漏洞的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/86174.html