一、python
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
python 是一门简单易学的语言,并且功能强大也很灵活,在渗透测试中的应用广泛,让我们一起打造属于自己的渗透测试工具
二、web服务器的目录探测脚本打造
1、在渗透时如果能发现web服务器中的webshell,渗透是不是就可以变的简单一点尼
通常情况下御剑深受大家的喜爱,但是今天在测试的时候webshell不知道为什么御剑扫描不到
仔细查看是webshell有防爬功能,是检测User-Agent头,如果没有就回返回一个自己定义的404页面
1、先来看看工具效果
2、利用python读取扫描的目录字典
def get_url(path): with open(path, "r", encoding='ISO-8859-1') as f: for url in f.readlines(): url_list.append(url.strip()) return url_list
3、利用 python 的 requests 库对web目标服务器进行目录探测
def Go_scan(url): while not queue.empty(): url_path = queue.get(timeout=1) new_url = url + url_path res = requests.get(new_url, headers=headers, timeout=5) #print(res.status_code) status_code = "[" + str(res.status_code) + "]" if str(res.status_code) != "404": print(get_time(), status_code, new_url)
4、利用 python 的 threading 库对探测进行线程的设置
def thread(Number,url): threadlist = [] for pwd in url_list: queue.put(pwd) for x in range(Number): t = threading.Thread(target=Go_scan, args=(url,)) threadlist.append(t) for t in threadlist: t.start()
5、利用 python 的 argparse 库进行对自己的工具进行封装
def main(): if len(sys.argv) == 1: print_banner() exit(1) parser = argparse.ArgumentParser( formatter_class=argparse.RawTextHelpFormatter, epilog='''use examples: python dir_scan.py -u [url]http://www.test.com[/url] -d /root/dir.txt python dir_scan.py -u [url]http://www.test.com[/url] -t 30 -d /root/dir.txt ''') parser.add_argument("-u","--url", help="scan target address", dest='url') parser.add_argument("-t","--thread", help="Number of threads", default="20", type=int, dest='thread') parser.add_argument("-d","--Dictionaries", help="Dictionary of Blasting Loading", dest="Dictionaries")
总结
各位大哥有意见或者建议尽管提,文章哪里不对的话会改的,小弟定会虚心学习最后附上全部源码供大佬指教
#!/usr/bin/python # -*- coding: utf-8 -*- import requests import threading import argparse,sys import time,os from queue import Queue url_list = [] queue = Queue() headers = { 'Connection':'keep-alive', 'Accept':'*/*', 'Accept-Language': 'zh-CN', 'User-Agent':'Mozilla/5.0 (Windows NT 6.2; rv:16.0) Gecko/20100101 Firefox/16.0' } def print_banner(): banner = r""" .___.__ __________________ _____ _______ __| _/|__|_______ / _____/\_ ___ \ / _ \ \ \ / __ | | |\_ __ \ \_____ \ / \ \/ / /_\ \ / | \ / /_/ | | | | | \/ / \\ \____/ | \/ | \____ | |__| |__| /_______ / \______ /\____|__ /\____|__ / \/ \/ \/ \/ \/ [*] Very fast directory scanning tool. [*] try to use -h or --help show help message """ print(banner) def get_time(): return '[' + time.strftime("%H:%M:%S", time.localtime()) + '] ' def get_url(path): with open(path, "r", encoding='ISO-8859-1') as f: for url in f.readlines(): url_list.append(url.strip()) return url_list def Go_scan(url): while not queue.empty(): url_path = queue.get(timeout=1) new_url = url + url_path res = requests.get(new_url, headers=headers, timeout=5) #print(res.status_code) status_code = "[" + str(res.status_code) + "]" if str(res.status_code) != "404": print(get_time(), status_code, new_url) def thread(Number,url): threadlist = [] for pwd in url_list: queue.put(pwd) for x in range(Number): t = threading.Thread(target=Go_scan, args=(url,)) threadlist.append(t) for t in threadlist: t.start() def main(): if len(sys.argv) == 1: print_banner() exit(1) parser = argparse.ArgumentParser( formatter_class=argparse.RawTextHelpFormatter, epilog='''use examples: python dir_scan.py -u [url]http://www.test.com[/url] -d /root/dir.txt python dir_scan.py -u [url]http://www.test.com[/url] -t 30 -d /root/dir.txt ''') parser.add_argument("-u","--url", help="scan target address", dest='url') parser.add_argument("-t","--thread", help="Number of threads", default="20", type=int, dest='thread') parser.add_argument("-d","--Dictionaries", help="Dictionary of Blasting Loading", dest="Dictionaries") args = parser.parse_args() Number =args.thread url = args.url url_path = args.Dictionaries print_banner() get_url(url_path) print(get_time(), "[INFO] Start scanning----\n") time.sleep(2) thread(Number,url) if __name__ == '__main__': main()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。