暴力破解
LOW
方法一
1. 查看源代码
2.找到重点
$query = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";
将用户名输入为admin'or'1'='1
$query = "SELECT * FROM `users` WHERE user = 'admin'or'1'='1' AND password = '$pass';";
关键为or
方法二
1.先进行抓包
2.发送给intruder并添加变量
3.导入字典进行爆破
找到长度不同的 发现密码为password
Medium
查看代码
发现使用了 mysqli_real_escape_string函数
isset() 函数用于检测变量是否已设置并且非 NULL。返回TRUE。
is_object() 函数用于检测变量是否是一个对象
mysql_real_escape_string()是一个函数,用来转义 SQL 语句中使用的字符串中的特殊字符。
不能使用万能密码绕开
并且sleep(2)降低了爆破的速度
方法:爆破
和上述爆破相同
HIgh
1.
2.
stripslashes(string): 去除掉string字符的反斜杠\
mysqli_real_escape_string(string,connection)函数会对字符串string中的特殊符号(\x00,\n,\r,\,‘,“,\x1a)进行转义。
代码增加了token机制
爆破