前言
这是打靶训练的第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,打靶结束
