当前位置:网站首页>绕过正则实现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去掉
边栏推荐
猜你喜欢
随机推荐
C语言日记 5 运算符和表达式
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第十二章)
yolov5,yolov4,yolov3 mess
Deep learning framework pytorch rapid development and actual combat chapter4
Unit 14 Viewsets and Routing
(ROS) (03) CMakeLists. TXT, rounding
Chapter6 visualization (don't want to see the version)
The language of initial
跑跑yolov5吧
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第十章)
[ROS] Introduction to common tools in ROS (to be continued)
drf routing component Routers
Unit 11 Serializers
Hands-on OCR (1)
Error Correction Design Principle of Hamming Check Code
C语言日记 5、7setprecision()问题
宝塔搭建DM企业建站系统源码实测
编程规范——LiteOS
[ROS](02)创建&编译ROS软件包Package
yolov5,yolov4,yolov3乱七八糟的