免责声明
由于传播、利用本公众号夜组安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号夜组安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把夜组安全“设为星标”,否则可能就看不到了啦!
01
工具介绍
针对内网渗透中发现的目录遍历站点,比如python开启的目录Directory listing for,对目录下所有文件爬取出文件名、大小,方便快速收集信息。
02
工具使用
python3 CrDirectory.py -u http://127.0.0.1
03
工具脚本
# -*- coding: UTF-8 -*-
import requests
from bs4 import BeautifulSoup
import os
import urllib
from urllib import parse
import argparse
def get_file_info(url, file_path):
# 发送 HEAD 请求获取文件大小
file_response = requests.head(url)
# 获取文件大小(以字节为单位)
content_length = file_response.headers.get("Content-Length")
# 获取文件名
filename = os.path.basename(url)
# 打印文件名、大小和访问路径
print(f"文件名:{urllib.parse.unquote(filename)},n大小:{content_length} 字节,路径:{base_url+'/'+urllib.parse.unquote(file_path)+urllib.parse.unquote(filename)}")
def crawl_website(url, old_path,file_path="/"):
# 发送 GET 请求获取网页内容
response = requests.get(url)
# 解析网页内容
soup = BeautifulSoup(response.text, "html.parser")
# 获取所有链接标签
links = soup.find_all("a")
# 遍历链接标签
for link in links:
# 获取链接的相对路径
href = link.get("href")
# 拼接完整 URL
if href == old_path :# 判断是否为跳转上一级
break
url = f"{base_url}/{href}"
# 判断是否为文件夹
if href.endswith("/"):
folder_path = os.path.join(file_path, href)
crawl_website(url, file_path, folder_path)
else:
get_file_info(url, file_path)
# 开始爬取网站
parser = argparse.ArgumentParser(description='检测一个url')
parser.add_argument('-u', type=str, help='目标url 使用: -u http://127.0.0.1')
args = parser.parse_args()
base_url = args.u.split('n')[0]
if args.u:
crawl_website(base_url,'/')
04
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...