eveplw

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

15.文件包含漏洞利用

一.利用前提:

(1)存在一个文件包含漏洞点

(2)我们有其他可控点可以写入到本地文件

(3)写入的本地文件路径可知或可预测

 

二.包含web日志

前提通过信息搜集,得到了相关的服务器信息,比如得知中间件是apache。

apache记录web日志的文件有access.log和error.log

nginx:/usr/local/nginx/logs

这时候我们访问服务器的时候,通过burp修改我们的请求,将恶意代码写在请求内,这时候web日志就会将

我们的恶意代码写入到日志文件中。由于日志文件一般来说都有默认的路径,比较容易猜测,这样就满足了

我们本地包含getshell的条件。

比如get请求 get"<?php phpinfo(); ?>".html

 

三.包含登录日志

如果发现一个Linux系统,开放了22端口,同时存在文件包含漏洞。那么我们可以构造恶意登录在ssh登录

日志中写入恶意代码。

Linux默认登录日志路径:/var/log/auth.log或 /var/log/secure

使用xshell或ssh命令进行ssh登录:ssh"<?php phpinfo(); ? >"@192.168.112.188,此时,登录日志中将出

现php代码。

如果MySQL开放远程登录,我们也同样可以登录MySQL并包含MySQL日志:mysql -u"<?php phpinfo(); ?> 

-p -h 192.168.19.130

在Linux上开启MySQL日志:

find / -name my.cni

vim /opt/lampp/etc/my.cnf

 

 

四.包含mysql日志

包含mysql一般是在成功访问到MySQL后实现的。攻击者进入MySQL,可以通过数据库查询接口,实现恶意代码的写入MySQL

日志。方法和原理与包含web日志相同。比如进入phpmyadmin后台,或者爆破成功进入MySQL。

查看日志文件状态:show variables like 'general_log'

写入恶意代码:select"<? phpinfo(); ?>",根据日志文件路径即可包含。虽然能够到这一步,已经是渗透测试成功。但是如果web

服务器的权限更高的话,可以让web服务器来包含日志,这样web shell就会被高权限账号执行,实现提权。

 

五.包含上传文件

 1.图片和shell脚本合起来

 

posted on   eveplw  阅读(92)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示