sql注入随笔

  最近挖了一些漏洞,还挺有意思的。这边分享两个需要细节一点才能挖到的sql注入,希望给大家带来一些漏洞挖掘思路。

  黑盒是很有意思的,有趣的。

  1.搜索功能的隐藏sql注入,post data数据内容如下:  

{"product":"","offer":"DIV","variant":"*","search":""}

  探测的时候发现这些参数都不存在注入

  

 

 

  开始第二次尝试,当删除json体中某个参数后,variant参数触发报错注入:

{"product":"","variant":"*","search":""}

  结论:测试漏洞的时候,记得删除参数。可能某个参数起到了健全的作用。

 

 2.搜索功能的order by隐藏注入,post data数据包内容如下:

 

Origin: 
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: 
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8

number=0&size=10&sortField=id*&sortOrder=desc&playerUsername=&uid=

 

 对数据包进行正常发包:

  

 

 

 

 发包返回当前搜索的所有数据。因为有sortField参数,所以我格外注意测试order by注入。这里我对每个参数进行了sql注入测试,发现并不存在order by和其他类型的sql注入。

 直觉告诉我,可能有漏洞。我想坚持fuzz下,如果我放弃了,那么一个高风险漏洞都没有了。

 fuzz参数发现当post data参数为:

Origin: 
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: 
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8

number=0&size=10&sortField=id&sortOrder=desc&playerUsername=%25&uid=

   

 这里我为playerUsername赋值%25后,正常发包后,他的返回和上面第一个数据包的返回内容一致。

   但是这个赋值不一般,直接导致了sortField参数可以受到order by注入攻击,直接触发sql语句报错。

 

 

  很神奇,这个点真的很神奇。也可以说是意外之喜。然后就是出数据,证明是sql注入:

   

 

  结论:遇到敏感的参数,一定要坚持下!不然可能错过高风险安全漏洞。 

 

  • 添加到短语集
     
    • 没有此单词集:英语 → 中文(简体)...
       
    • 创建新的单词集...
  • 拷贝
  • 添加到短语集
     
    • 没有此单词集:英语 → 中文(简体)...
       
    • 创建新的单词集...
  • 拷贝
posted @ 2022-12-02 17:15  飘渺红尘✨  阅读(755)  评论(0编辑  收藏  举报
Title