前言
这是打靶训练的第14周,靶机下载,难度中,此靶机有两种打法。
sql注入
告诉你有sql注入,这不梭哈一波
丢给burp,Attack type选择Cluster bomb
模式
payload1 选择/usr/share/seclists/Fuzzing/SQLi/Generic-SQLi.txt
文件,payload2 选择 burp自带的字典Fuzzing - SQL injection
跑了一会就出结果了,用户名:or 0=0 #
密码:\
可成功登录
文件上传
登录进来后,查看了下用户,没啥可利用的信息
切换为Add users
发现有上传点
直接上传php失败的,加一个GIF89a
gif文件头,可上传成功
再次查看用户,可得到刚刚我们添加的用户,还有照片路径。使用蚁剑无法连接
文件包含
没法利用陷入了坑中,回到信息搜集方向,扫目录
有个add查看一下
观察了一下,这和前面的文件上传的框一模一样啊。会不会在show Users
的时候点击continue,先请求了这个add.php呢,再次抓包
改变load参数后,成功包含了/etc/passwd
,果然有文件包含漏洞
这里重新上传木马,使用kali下的/usr/share/webshells/php/php-reverse-shell.php
,用于nc反弹shell。修改下配置
成功反弹shell
提权
本次提权非常的简单,先使用python -c 'import pty; pty.spawn("/bin/bash")'
,升级为tty。
uname -a
获取到内核为3.13.0-32
查漏洞,使用/usr/share/exploitdb/exploits/linux/local/37292.c
来到/tmp
路径后,将exp下载下来,gcc -o exp exp.c
编译运行后。提权为root
其他方式
这是第二种攻击手法,还是回到最开始的信息搜集,访问前面扫到了test.php
提示file参数,使用post方法传参
首页源代码泄露了,同时获取到了sql语句为select * from auth where pass=\''.$pass.'\' and uname=\''.$uname.'\'
。
整理一下sql语句select * from auth where pass='$pass' and uname='$uname'
。将前面的payload代入后。
select * from auth where pass='' and uname=' or 0=0 #'
。密码直接为空,用户名为单引号。后面的or 0=0
,永远成立。所以登录成功了。
继续查看c.php,获取到数据库账号:billu
b0x_billu
访问phpmy
网页,成功登录进phpmyadmin
继续扫描phpmy
目录得到一个phpmy/config.inc.php
,查看源码
ssh登录,用户名root
密码roottoor
,打靶结束