平时学习到的小知识
0 条评论正则表达式拒绝服务
类似
^(\d+)*$
(\\?.)*?
由于正则表达式匹配不到会回溯,如:^(\d+)*s$,当你匹配一个 1231312312222131231313,会创建很多条路径,但是由于找不到s所以会回溯,此时路径以2次方的形式增长就会造成ReDos
sql注入写shell
可以利用 LINES TERMINATED BY 写入shell
LINES TERMINATED BY 为行尾标记
比如:select * from test where id = '2' or 1=1 limit 0,1 into outfile"path" LINES TERMINATED BY 0xasad (hex编码的文件内容)
这个语句的含义是查询数据写入path并以指定的内容作为后缀
但是如果test数据为空写入的数据就为空,可以利用union来强行select数据
如
select * from test where id = 'd' union select 1,2 into file "path" LINES TERMINATED BY 0xasad
便可以写入数据
sqlserver 堆叠注入
select 1 select 1
select 1; select 1
上面两条都可以执行,所以过滤了; -- 的sqlserver依旧可以堆叠注入,直接在一条语句后加上一个空格后再加上令一条语句就行(十分神奇)
ssti
import java.io.StringReader; //参考https://securitylab.github.com/advisories/GHSL-2020-066-apache_ofbiz/