1.
打开页面可以看到代码片段,审计代码,发现会判断上传参数,大于999时会报错,小于999时会返回sql的拼接语句
最后一行提示,当id=1000时可以得到flag
题目给出限制查询id范围小于一千,flagid为1000,并限制查询id数为1,可使用id=-1通过范围筛查,再用or id=1000查询出flag,构造url为
a145c077-22aa-4d03-a8e4-2a044e1e493d.challenge.ctf.show/?id=-1 or id=1000
2.
打开题目 基本和web1一样但是在判断参数后又加了一个if判断(过滤规则) 当出现 or、+、i会报错; 加减乘除除了加都试一遍 也可以 观看题解 有个大佬师傅 写了个 payload id= ~~1000,测试发现 ~~1000也可以直接得到flag
3.
打开题目又加了一些条件 用上个题目一个大佬的 id=~~1000可以得到flag
4.
打开题目发现过滤了许多符号 但没有过滤 ~~用?id=~~1000依然可以得到flag
5.
依然可以用 ?id=~~1000得到flag.
6.
看过代码后依然可以用 ?id=~~1000得到flag
7.
打开题目后发现 不能使用~所以不能用 ?id=~~1000得到flag 可利用二进制绕过 用 id=0b001111101000绕过得到flag
8.