一次简单的sql注入挖掘绕过记录

admin 2024年10月17日14:16:36评论5 views字数 639阅读2分7秒阅读模式

这里是某个搜索框的数据包,输入单引号返回500

一次简单的sql注入挖掘绕过记录

两个单引号返回200但是无数据

一次简单的sql注入挖掘绕过记录

经过各种测试之后插入下面这个语句返回了200(这里提前说明下,当参数的值不是整数会无数据,为整数则会返回数据)

一次简单的sql注入挖掘绕过记录

为710则返回了500,这个exp函数就是计算e的几次方,超过709这个数就会特别大导致数据库报错

一次简单的sql注入挖掘绕过记录

这里使用case when语句,当我控制条件为1=1时候竟然404了,猜测是过滤了一些东西

一次简单的sql注入挖掘绕过记录

后来经过测试发现是过滤了加号,这里经过各种测试都返回404(直接使用/**/符号也会404),但是用参数污染试了试,发现可以全部代入进去,于是构造了下面的数据包,使用注释符号来代替了空格,发现回显了500不是404,说明语句没有问题

一次简单的sql注入挖掘绕过记录

让条件为1=2,返回了数据

一次简单的sql注入挖掘绕过记录
这里没有任何问题,但是当我注用户名时候发现当执行结果有一个为exp(1000)时,无论条件是否正确都会执行exp(1000)并返回500,但是当条件为1=1时,就像上面那样没问题,就很奇怪
于是我控制一个结果为exp(20),一个为1,一个会返回无数据,一个会返回全部数据
完整注用户语句'||case/**/when/**/ASCII(SUBSTR(user,1,1))=1/**/then/**/exp(20)/**/else/**/1/**/end||'/**/是过滤了的,挨个从中间分开
一次简单的sql注入挖掘绕过记录
一次简单的sql注入挖掘绕过记录
直接去跑,跑出来第一位ascii码为117

一次简单的sql注入挖掘绕过记录

后续正常跑就可以,规则只需要注用户就行,就没有注表

原文始发于微信公众号(起凡安全):一次简单的sql注入挖掘绕过记录

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月17日14:16:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一次简单的sql注入挖掘绕过记录https://cn-sec.com/archives/3280857.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息