概述
渗透测试其实就是一个攻防对抗的过程,所谓知己知彼,才能百战百胜。
如今的网站基本都有防护措施,大企业或大单位因为网站众多,一般都会选择大型防火墙作为保护措施,比如深信服、天融信等等,小单位或单个网站通常会选择D盾、安全狗或开源的安全软件作为保护措施,一些常见的开源waf有:OpenResty 、ModSecurity、NAXSI、WebKnight、Shadow Daemon等等。
当然,裸跑的网站还是有的。
而这些防护措施都有对常见漏洞的防御措施, 所以在实际的漏洞挖掘和利用过程中必须考虑这些问题,如何确定防护措施,如何对抗防护措施。
web常见漏洞一直是变化的,隔一段时间就会有新的漏洞被发现,但实战中被利用的漏洞其实就那么几个,就像编程语言一样,稳坐前三的永远是c、c++、java。
总结一下常见漏洞:
弱口令、sql注入、文件上传、命令执行、任意文件下载(目录遍历)、文件包含、反序列化、敏感信息泄漏、跨站请求伪造( CSRF 或者 XSRF)、 跨站脚本漏洞(xss)、服务端请求伪造(ssrf)、xxe(外部实体注入)等等。
弱口令(弱密码)
通常所说的弱口令是指常用的一些密码(比如123456)和一些应用程序的默认密码,但实际上任何有规律的密码都可以称作弱密码,可能随着机器学习的发展,大多数密码都可以称作弱密码,因为人设置密码的规律是有迹可循的。
对弱口令的防护措施:
防火墙:
安全狗:
弱口令破解:
对弱口令破解需要考虑两个方面,一是防护措施,二是字典。当然,如果是浏览器弱口令破解,还需要考虑验证码。
一般方法:
1.手动测试常见密码永远不过时。
2.有防护措施:采取分段、延时爆破 +动态ip代理。,比如:
3.浏览器弱口令破解,使用bp爆破,验证码可以使用reCAPTCHAR插件尝试绕过,动态ip可以使用fakeip插件模拟,延时功能可以通过Instruder options设置,如下:
sql注入:
本来想着sql注入漏洞现在应该很少了,但实际情况是还是普遍存在,只不过能直接使用sqlmap跑出来的确实不多。
对sql注入的防护措施:
防火墙:
D盾:
应对措施:
1.延时或延时+动态代理还是基本方法,起码保证不会被禁。
2.sqlmap自带的脚本基本上都不行了,找网上新出的脚本。
3.也可以自己使用bp的intruder模块进行fuzz,寻找没被过滤的字符,编写脚本。
文件上传
文件上传的危害自不必说,上传点一般在管理后台中,当然也有在公共页面的。
文件上传的防护措施:
防火墙、D盾、安全狗:
应对措施:
文件上传的绕过方法网上一搜有很多(比如upload-labs的各种方法、绕防火墙的各种方法(虽然很多已经过时),可能还有些没有公开的方法,总结一下:
1.常规的绕过方法:修改文件后缀(大小写、文件别名等等)、修改文件名(文件名加分号、引号等等)、修改文件内容(比如图片马)、修改请求包结构等等。
2.结合服务器解析漏洞:IIS、apache、nginx的特定版本都有对应的解析漏洞。
3.利用文件包含漏洞:如果有文件包含漏洞,可以结合文件包含漏洞,上传马。
4.利用组件漏洞:如果知道组件版本和名称,可以网上找一下相应漏洞。
注:手动一个一个去试各种方法,的确很麻烦,可以试试burpsuit的上传插件upload-scanner(但本人觉得并不好用)。
远程命令(代码)执行(命令注入)
通常是由于后端调用命令执行的函数,对前端数据验证或过滤不严格导致的,php、java都存在这种漏洞,php5.2以后的版本已经默认禁用命令执行的函数了。
防护措施:
D盾和安全狗好像没有对命令执行的防护,防火墙的我找到以下:
测试方法:
1.手动测试
2.使用burpsuit,主动扫描可以扫描命令注入漏洞,或其他工具。
目录遍历
目录遍历(任意文件下载)漏洞不同于网站目录浏览,此漏洞不仅仅可遍历系统下web中的文件,而且可以浏览或者下载到系统中的文件,攻击人员通过目录遍历攻击可以获取系统文件及服务器的配置文件等等。一般来说,他们利用服务器API、文件标准权限进行攻击。严格来说,目录遍历攻击并不是一种web漏洞,而是网站设计人员的设计“漏洞”。如果web设计者设计的web内容没有恰当的访问控制,允许http遍历,攻击者就可以访问受限的目录,并可以在web根目录以外执行命令。
防护措施:
D盾,安全狗对此没有防护,防火墙找到如下:
测试方法:
1.手动测试,常用payload:
linux:
http://www.xxxx.com/xxx.php?page=../../../../../../../../../../../../../etc/passwd
windows:
http://www.xxxx.com/xxx.php?page=..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\windows\win.ini
2.使用bp自带扫描器(可能复杂一点的扫描不出来)。
3.如果以上方法不行,网上搜一下绕过方法,有很多。。。
。。。。未完待续
来源:freebuf.com 2020-08-31 16:09:51 by: 意识流存在
请登录后发表评论
注册