@1kbfree
2018-07-30T20:02:58.000000Z
字数 1922
阅读 1189
漏洞挖掘
偷偷转载至
Freebuf
(用于自己学习),比较难理解的做了对应的注释(其实还有很多没打)
1、通过源代码发现了一个隐藏的链接:
2、打开之后发现提示缺少sid参数,此时手动构造:
3、点击确定之后,跳过去的是一个荒废的页面,此时我回过头来看了一下源代码,尝试手动添加action、method参数:
4、发现了method参数有效,此时构造xss payload,成功弹窗(= = 没想到method参数也可以)。
1、发现请求链接是:http://xxxx/swap/im?callback=jQuery18900926711223842687
而响应包内容是:
jQuery18900926711223842687({"errorCode":1,"errorMessage":xxxxxxx})
2、灵光一闪:可以测试JSON劫持嘛。但是由于响应包的内容并没有啥作用,所以此处的JSON劫持完全没有危害,但是这里却还可以测试XSS漏洞。
3、构造如下链接,成功弹窗:
http://xxxx/swap/im?callback=<script>alert(1)</script>
然后构造为html
页面即可触发xss
所有参数测试一遍,发现link参数,存在xss,直接在script标签里面,并且还送URL跳转一个。
逐个参数进行测试后,最后发现gourl参数存在xss,过滤了script关键字,使用tab键进行绕过。
用户登陆这个功能这里,可以测试的点可以但不仅仅并且不一定是如下几个:
此处link1
参数可以控制跳转到的页面:
其实我在想如果这里跳转后面的时候加上
xss
代码能不能成功执行
1、此处的gourl
参数可以控制返回的页面:
2、可以看到设置了自动跳转,(呃……我们让他跳转到mstsec)。
1、在查看源代码时发现引入了该JS文件,跟踪……
2、发现了两处接口,逐个跟踪。
3、发现下面那个接口直接未授权访问… 泄露了该站,所有的用户名,此时便可以进行有针对性撞库了。
1、通过读取JS代码时发现这么一段,竟然可以文件上传。
注释:这里有限制上传的文件类型,但是因为是前端限制所以是可以绕过的
2、构造如下表单:
3、成功GETSHELL:
登陆成功后相应包里返回一条链接 http://xxx.com/user/login.php?id=MTAw
。发现是用户ID
的base64
编码,此时遍历用户ID
,实现任意用户登陆。
1)任意后台地址,手动添加参数admin=1之后,发现返回了cookie,成功登陆
2)普通用户时,手动添加debug=1之后,发现权限竟然多了一些。。
1、将二维转换为HTTP请求(https://cli.im/deqr/),然后来分析
2、扫码进行登录扫描之后,会弹出确认登录框以确认登录。在点击“登录”按钮的之后,发送如下POST数据包来进行登陆:
POST https://xxx.com/xxxx/confirm HTTP/1.1
….
token=xxxxx&source=passport&fingerprint=一大长串字符
删除finderprint参数,发现对请求无影响=>删除
删除referer参数,发现对请求无影响=>可以CSRF
将请求方法改为GET型,发现失败=>只能构造表单进行CSRF
此时受害者只要是主站登陆状态下,发送了我们构造好的这个表单,那么我这里就可以直接登陆他的账号。(这句话暂时不是和理解)
1、使用账号所绑定的微信登陆:
2、扫描之后发现不需要点击确认就登录了,和常规的微信二维码扫描登录完全不一样,这时候才发现原来这里是使用的微信公众号绑定的账户去登录的,解析的二维码地址为:
3、利用条件:
受害者微信公众号绑定了账号;
受害者微信内点击我们的链接,我这里就这可以直接登陆了
解释:因为这里的是不需要确认的,并且只需要绑定了那个公众号就可以扫码直接登陆,那么这里写的发送
Url
的意思和CSRF
漏洞原理一样,让点开链接的人假装自己去扫描了这个二维码,所以就可以登陆的。
1、在每个Url
中分析他的每个参数,分析是否可控,然后看能够引发什么危害
2、分析每个页面的JS
代码,看看是否有什么敏感的信息泄露导致漏洞的产生
3、分析漏洞的危害,查看能否与其他漏洞组合,分析漏洞产生的地方以及对其他处的关联,然后看情况的去组合和利用。