0x00 原理
网站使用正则匹配对用户名一栏传到服务器的参数进行了匹配,如果匹配到了单引号则报错
0x01 简单例子
当我们输入admin\’时,网站直接报错,很有可能就是用了正则,这样我们也不用考虑别的什么绕过方式了。
猜测服务端数据查询语句
- select id from users where username=\’$user\’ and password=\’$password\’;
所以如果我们设$user=admin\\的话,查询语句就变成了 - select id from users where username=\’admin\’ and password=\’$password\’;
通过这种方式转义了admin后面的单引号,这样username其实是admin and password=,这样其实应该没这个用户名,所以是0,
然后控制$password为or 1=1# 就可以绕过了。