ctfhub——目录遍历python脚本解法

简介: ctfhub——目录遍历python脚本解法

本文转载:https://xiaochuhe.blog.csdn.net/article/details/122309766
1.直接点进去找很容易找到flag,为锻炼写脚本能力,故用python跑跑看看,点进去下面页面
图片.png

2.多点点会发现,一共有4个文件夹分为为1,2,3,4,每个文件夹里面还有4个人文件夹1,2,3,4,其中有一个文件夹里面有flag文件,开始编写脚本之前先学习下面代码的含义:

import requests
url = "http://www.baidu.com"
r = requests.get(url)
print (r,r.text)
print (len(r.text))
url1 = "https://www.baidu.com/s?cl=3&tn=baidutop10&fr=top1000&wd=%E7%94%B7%E5%AD%90%E6%B1%82%E9%9A%94%E7%A6%BB%E6%9C%AA%E6%9E%9C6%E5%8F%A3%E4%BA%BA%E7%A1%AE%E8%AF%8A+%E5%B7%B2%E8%8E%B7%E6%95%91%E6%B2%BB&rsv_idx=2&rsv_dl=fyb_n_homepage&sa=fyb_n_homepage&hisfilter=1"
r1 = requests.get(url1)
print (len(r1.text))

输出结果: 输出响应包,响应页面代码,响应页面代码长度,并且我们可以看出同意个网站下不同目录响应的长度肯定是不相同的,据此开始编写脚本。
图片.png

3.先开始尝试

import requests
url1 = "http://challenge-75fbfe083536c788.sandbox.ctfhub.com:10800/flag_in_here/"
url2 = "http://challenge-75fbfe083536c788.sandbox.ctfhub.com:10800/flag_in_here/1/"
 
for i in range(1,5):
    for j in range(1,5):
        url_new = url1+f'{i}/{j}/'
        print (url_new)

图片.png

输出结果:可以看出现在已经跑出所有的目录了,下面开始筛选哪一个里面有flag文本

4.继续编写代码

import requests
url1 = "http://challenge-75fbfe083536c788.sandbox.ctfhub.com:10800/flag_in_here/"
url2 = "http://challenge-75fbfe083536c788.sandbox.ctfhub.com:10800/flag_in_here/1/1/" #普通页面下没有flag的页面
r1 = requests.get(url2)
length1 = len(r1.text) #没有flag页面的响应包文本长度
for i in range(1,5):
    for j in range(1,5):
        url_new = url1+f'{i}/{j}/'
        r2 = requests.get(url_new)
        length2 = len(r2.text)     #跑出来的页面响应包文本长度
        if(length1 != length2):   #如果普通页面下没有flag的页面和跑出来的页面响应包文本长度不相等代表那个页面肯定有东西,相同的话就都是空的
            print (url_new)

输出结果:
图片.png

5.跑出直接访问页面,得到flag值
图片.png

相关文章
|
16天前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
49 1
思科设备巡检命令Python脚本大集合
|
12天前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
111 68
|
3天前
|
缓存 运维 NoSQL
python常见运维脚本_Python运维常用脚本
python常见运维脚本_Python运维常用脚本
9 3
|
3天前
|
数据采集 JSON 数据安全/隐私保护
Python常用脚本集锦
Python常用脚本集锦
9 2
|
4天前
|
运维 监控 应用服务中间件
自动化运维:如何利用Python脚本提升工作效率
【10月更文挑战第30天】在快节奏的IT行业中,自动化运维已成为提升工作效率和减少人为错误的关键技术。本文将介绍如何使用Python编写简单的自动化脚本,以实现日常运维任务的自动化。通过实际案例,我们将展示如何用Python脚本简化服务器管理、批量配置更新以及监控系统性能等任务。文章不仅提供代码示例,还将深入探讨自动化运维背后的理念,帮助读者理解并应用这一技术来优化他们的工作流程。
|
5天前
|
运维 监控 Linux
自动化运维:如何利用Python脚本优化日常任务##
【10月更文挑战第29天】在现代IT运维中,自动化已成为提升效率、减少人为错误的关键技术。本文将介绍如何通过Python脚本来简化和自动化日常的运维任务,从而让运维人员能够专注于更高层次的工作。从备份管理到系统监控,再到日志分析,我们将一步步展示如何编写实用的Python脚本来处理这些任务。 ##
|
25天前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
46 1
Python实用记录(十三):python脚本打包exe文件并运行
|
10天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
16 1
|
27天前
|
Python
Python实用记录(四):os模块-去后缀或者改后缀/指定目录下图片或者子目录图片写入txt/csv
本文介绍了如何使用Python的os模块来操作文件,包括更改文件后缀、分割文件路径和后缀、将指定目录下的所有图片写入txt文档,以及将指定目录下所有子目录中的图片写入csv文档,并为每个子目录分配一个标签。
15 1
|
1月前
|
编解码 UED Python
Python批量修改指定目录下图片的大小名文章
Python批量修改指定目录下图片的大小名文章
15 1