当前位置:网站首页>绕过正则实现SQL注入
绕过正则实现SQL注入
2022-08-02 14:03:00 【H2223】

%27是' %20是空格 --+是为了将后面的代码注释掉
首先使用order by 来查看有多少列
?id=1%27%20order%20by%204--+ 发现4报错了,改成3后就恢复了,说明有3列
联合查询1,2,3
?id=-1%27%20union%20select%201,2,3--+

发现数据出在2,3上了
只要输入查询语句就可以获得所有数据

但在php文件中加入过滤正则
if (preg_match('/select\b[\s\S]*\bfrom/is',$id)){
die('sql injection');
}
被正则表达式捕获了

该正则表达式匹配了select后与form前的单词边界,select和from中间的所有字符
但sql注入要查询数据必须要有select与from,想要绕过正则表达式就要select后或form前有字符

这样是匹配不上了,但是SQL语法也错了
mysql是支持科学计数法的(1e1)


这样既可以绕开正则又不会语法错误
注意1e1会让表格多一列,所以要把3去掉
边栏推荐
猜你喜欢
随机推荐
static关键字3种作用,简单粗暴对比,好理解
Creating seven NiuYun Flask project complete and let cloud
主存储器(一)
[ROS] (06) ROS Communication - Topic Communication
8576 顺序线性表的基本操作
[ROS](04)package.xml详解
主存储器(二)
函数递归和动态内存初识
getUserProfile接口不显示用户性别和地区
Deep learning framework pytorch rapid development and actual combat chapter4
[ROS] The software package of the industrial computer does not compile
8581 线性链表逆置
C语言初级—从键盘接收一个整形并逆序输出
paddleocr window10 first experience
十分钟带你入门Nodejs
[ROS] (01) Create ROS workspace
C语言日记 3 常量
Hands-on OCR (1)
[ROS] (02) Create & compile ROS package Package
C语言初级—常见问题(100~200素数,计算1+11+111+...,从键盘获取一个数并输出有几个位)




![[ROS] (06) ROS Communication - Topic Communication](/img/21/d79f2c4e246eb9ea39df9c7435bb36.png)




