文件包含漏洞-利用方式

文件包含漏洞利用


一、包含日志文件

网站存在漏洞但没有合适的上传点时,可以尝试包含日志文件(mysql/ssh/apache等)

1.原理

用户发起请求时,服务器会将请求写入日志;因此可以将一句话木马写入日志文件,再包含日志文件执行木马。

同样,在ssh登录或者mysql连接时也会写入日志

2.利用条件
  • 日志文件可读
  • 日志文件存放位置可知
  • 存在文件包含漏洞

以Apache为例,日志文件内容如下

image-20230424220158437

可以看到即便是404页面也会被记录

3.利用过程

1)向服务器发送请求,POC如下

http://192.168.30.103/security/fileinc.php?filename=1.php<?php phpinfo();?>

2)通过burp抓包可以发现,‘<’ 和 '>'被转码了,修改后转发

image-20230424223348272

服务器记录日志的时候以空格分隔 因此<?php phpinfo(); ?> 写入日志会被截取

不加空格php会将phpphpinfo()当成一个函数,所以要使用短标记<? ?>

3)请求发送后查看日志文件

image-20230424223600917

可以看到php代码成功写入日志

4)包含日志文件

image-20230424223621018

上传的代码成功被执行

ssh登录日志类似,在ssh登录时,将用户名修改为恶意代码即可,例:

ssh "<?phpinfo();?>"@xxx.xxx.xxx.xxx

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

image-20230425194803939

mysql同理:

mysql -u"<?phpinfo();?>" -h 192.168.30.103 -p

image-20230425215947966



二、包含上传文件

无法上传php文件时,如果存在文件包含,可以上传符合服务器要求的文件,在文件中写入恶意代码,然后再包含以执行。

制作图片马:

copy dark.jpg/b + shell.php/a picshell.jpg
  • 此种方法制作的图片马是以image解析,图片可以正常显示;但是只能通过文件包含利用,蚁剑无法连接。
  • /b 表示以二进制流打开
  • /a 表示以ascii形式打开

然后将图片马上传,包含利用

xxx.php?filename=picshell.jpg&code=phpinfo();



三、包含session文件

session文件通常保存在temp目录下,文件名格式通常为sess_xxxxx(session id),找到一个可以写入session的点即可利用文件包含漏洞。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值