当前位置:网站首页>绕过正则实现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去掉
边栏推荐
猜你喜欢
随机推荐
编程规范——LiteOS
ToF相机从Camera2 API中获取DEPTH16格式深度图
Verilog Learning Series
MobileNet ShuffleNet & yolov5 replace backbone
C语言日记 1“Hello world“
【VCU】详解S19文件(S-record)
Flask framework in-depth
C语言初级—用一角,两角,五角和一元组成3.5元有多少种组合方法
【Camera2】由Camera2 特性想到的有关MED(多场景设备互动)的场景Idea
二级指针,数组指针,指针数组和函数指针
redis delay queue
8576 顺序线性表的基本操作
【ROS】编译软件包packages遇到进度缓慢或卡死,使用swap
C语言一级指针(补)
C语言初级—数组元素的增删改查
static关键字3种作用,简单粗暴对比,好理解
[ROS] (05) ROS Communication - Node, Nodes & Master
C语言日记 5 运算符和表达式
chapter7
8581 Linear linked list inversion



![[ROS]roscd和cd的区别](/img/a8/a1347568170821e8f186091b93e52a.png)





