记一次对某站点详细的渗透测试
2022-11-16 00:14:16 Author: 白帽子程序员(查看原文) 阅读量:26 收藏

文章来源:先知社区(雨下整夜)
原文地址:https://xz.aliyun.com/t/11502

0x01 前言

最近在尝试冲刺排名,恰好本次渗透中的东西可以拿来做一些分享,希望可以给大家提供一些思路,有什么不对不足的地方,希望各位师傅斧正,本文所涉及的漏洞均已提交至src平台

0x02 正文

1. 任意用户注册

像这种注册页面没有验证码的,果断抓包尝试无限绑定任意电话号码和邮箱注册

验证之后成功注册并登录两个账户,果然可以批量注册,登陆,送上手的低危成功吃到

2. 任意用户密码重置

登陆账户,进入修改资料界面,仔细观察,修改密码居然不用填旧密码?

果断抓包,这里的逻辑是用自己的用户名找回密码,在最后修改密码的时候抓包,改成其他用户名

验证一下,成功更改另一用户密码登录,ok,又是一个低危+,(其实可以看到这里第一个和第二个漏洞都不难,因为是业务逻辑类型,这类型的漏洞其实只要我们细心,就一定能挖到的)

3. 水平越权+存储xss组合拳

上面在找到任意密码重置后,便可以发现这个页面存在非常简单的越权漏洞,原理同上,他的逻辑是通过username参数来查询更改后端的数据。

但是既然已经找到任意密码重置了,单单一个水平越权确实没什么看点了,但是没关系,虽然咱们菜,但是咱们能坚持,够细心

继续对资料修改处进行测试,发现下面有一自我介绍处,自我介绍这个功能一般来说长度和特殊字符限制比较少,因为这属于业务需要,所以测试的时候遇到了就不能忽略,

果然这里有一存储型xss漏洞,抓包改payload,然后登陆另一账户进入修改资料页面验证成功

备注:其实这里也可以用存储型+csrf组合拳哦,不过我个人认为越权+存储型更实用(当然要是用img标签打csrf也很实用啦)

4. sql注入

问题出该网站一信息查看处,看到url处存在?id=1

多用几个payload找到更多信息

首先是发现存在waf,payload1:

www.xxx.com/xxx/?id=1+and+select

然后是存在报错信息,payload2:

www.xxx.com/xxx/?id=abcd

虽然access数据库不支持报错注入,但是后面我们会利用是否报错来进行一个盲注

于是手注一直尝试,找到了他这里的语句结构,非常难受,access数据库除了不能报错,也不能利用注释,但是别放弃,payload3

www.xxx.com/xxx/?id=1+and+exists(

基于此语句结构去构造payload,虽然有waf但是可以绕过,具体绕过手法我想在后面的文章做详细汇总


这里说一下其中有一个逻辑,select后面不能直接跟任何占位空字符(%0d,%0a,%0c,%20,' '),这个应该是他在后端自己又加的正则,用select(xxx)可以绕过这个逻辑,最终的payload

www.xxx.com/xxx/?id=1+and+exists(查询数据的语句)

绕过waf后可以通过盲注暴力猜解数据,可以看到admin表不存在,会给到错误信息回显,而另一个表是存在的,则正常回显

成功猜解出一表名,点到为止,拿下高危

0x03 结束

最后分享自己的一个心得体会,如果想从基础慢慢进阶,那么一定不要着急,细心的去解决每一个问题,一定不要轻易放弃,有个大佬跟我说过,学习网络安全,一定要有自信,一定要坚持,我可能今天不会这个东西,但是我不可能永远都学不会。


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg3Mjc0MDQ2Nw==&mid=2247489676&idx=1&sn=fac777bd0a686ae5ae51bf6386c4d3ef&chksm=ceebfb90f99c72864d126fc742d2af4c7e2ee13329e1df69de12c43e958f75087f897855ce42#rd
如有侵权请联系:admin#unsafe.sh