文件包含漏洞_文件包含漏洞和部分的CTF题

0ca437e89c53b9b67d6d830edf75735d.png文件包含漏洞 0fe436c409a7e349d0649c88a17fe91e.pngweb6 c06fceef2d81b74fbb5c0369ae0f1943.png

930fa61c0e89af61829395315d43d3b1.png

在bp里面添加:X-Forwarded-For:127.0.0.1

0fe436c409a7e349d0649c88a17fe91e.pngweb11

05197a28208646e50198f54c7debc86b.pngmd5碰撞

上脚本:

import hashlib

def get_token(txt):

    m1 = hashlib.md5()

    m1.update(txt.encode("utf-8"))

    token = m1.hexdigest()

    return token

for i in range(0,99999999999):

    if get_token(str(i))[0:6] == '89240b':

        print(i)

        break

web13 bab209c1bdf11bf143999f06832e1dbd.png

import requests

import base64

url = 'http://123.206.31.85:10013/index.php'

s = requests.session()

html=s.get(url)

psw = html.headers['Password']

ans = base64.b64decode(psw)

data = {'password':str(ans)[7:39]}

res = s.post(url,data)

print(res.text)

7b7f5be18c2a4b5ba2a3b16237d5e572.pngXCTF的一道web题 Web_php_include be8875e98c094e8f6a9095e3c62113d4.png

文件包含漏洞:

我应用大佬的一句话,就像Java里面的包,python里面的模块,官方就是说重用性,但是python和Java基本无文件包含漏洞,这是PHP语言的特点,在php里面把文件名称变成了变量,直接变量代入,如果没有严格的名称过滤,就出现文件包含漏洞,但是也有绕过的思路

文件包含:把文件当作PHP来执行

文件读取:把文件读取成一个字符串

d531b7bd48d819478e2922e6467eddcf.png 76562570caa7ed081b45b413918cdc25.png漏洞的分类 d5f7263531457e5e03e92cd6da4acbbd.png本地文件包含远程文件包含
需要开启 php.ini 中的 allow_url_fopen(可以读取远程文件)allow_url_include(可以用上面4个函数包含远程文件)

文件包含函数

require()//出错,直接终止,没有返回值

require_once()//只包含一次

include()//包含文件/路径或其它出错,可以继续进行,有返回值,多次包含

include_once()//只包含一次

利用方式:

PHP为协议

d1d688b6f62efe1ce5eeee58395aa8c3.png

这是我们下次要利用的靶场:LFI labs(github上可以clone下来)876e858dea98e8851bb7373a779b4813.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值