本文目录一览:
Python渗透测试工具都有哪些
网络
Scapy, Scapy3k: 发送,嗅探,分析和伪造网络数据包。可用作交互式包处理程序或单独作为一个库
pypcap, Pcapy, pylibpcap: 几个不同 libpcap 捆绑的python库
libdnet: 低级网络路由,包括端口查看和以太网帧的转发
dpkt: 快速,轻量数据包创建和分析,面向基本的 TCP/IP 协议
Impacket: 伪造和解码网络数据包,支持高级协议如 NMB 和 SMB
pynids: libnids 封装提供网络嗅探,IP 包碎片重组,TCP 流重组和端口扫描侦查
Dirtbags py-pcap: 无需 libpcap 库支持读取 pcap 文件
flowgrep: 通过正则表达式查找数据包中的 Payloads
Knock Subdomain Scan: 通过字典枚举目标子域名
SubBrute: 快速的子域名枚举工具
Mallory: 可扩展的 TCP/UDP 中间人代理工具,可以实时修改非标准协议
Pytbull: 灵活的 IDS/IPS 测试框架(附带超过300个测试样例)
调试和逆向工程
Paimei: 逆向工程框架,包含PyDBG, PIDA , pGRAPH
Immunity Debugger: 脚本 GUI 和命令行调试器
mona.py: Immunity Debugger 中的扩展,用于代替 pvefindaddr
IDAPython: IDA pro 中的插件,集成 Python 编程语言,允许脚本在 IDA Pro 中执行
PyEMU: 全脚本实现的英特尔32位仿真器,用于恶意软件分析
pefile: 读取并处理 PE 文件
pydasm: Python 封装的libdasm
PyDbgEng: Python 封装的微软 Windows 调试引擎
uhooker: 截获 DLL 或内存中任意地址可执行文件的 API 调用
diStorm: AMD64 下的反汇编库
python-ptrace: Python 写的使用 ptrace 的调试器
vdb/vtrace: vtrace 是用 Python 实现的跨平台调试 API, vdb 是使用它的调试器
Androguard: 安卓应用程序的逆向分析工具
Capstone: 一个轻量级的多平台多架构支持的反汇编框架。支持包括ARM,ARM64,MIPS和x86/x64平台
PyBFD: GNU 二进制文件描述(BFD)库的 Python 接口
Fuzzing
Sulley: 一个模糊器开发和模糊测试的框架,由多个可扩展的构件组成的
Peach Fuzzing Platform: 可扩展的模糊测试框架(v2版本 是用 Python 语言编写的)
antiparser: 模糊测试和故障注入的 API
TAOF: (The Art of Fuzzing, 模糊的艺术)包含 ProxyFuzz, 一个中间人网络模糊测试工具
untidy: 针对 XML 模糊测试工具
Powerfuzzer: 高度自动化和可完全定制的 Web 模糊测试工具
SMUDGE: 纯 Python 实现的网络协议模糊测试
Mistress: 基于预设模式,侦测实时文件格式和侦测畸形数据中的协议
Fuzzbox: 媒体多编码器的模糊测试
Forensic Fuzzing Tools: 通过生成模糊测试用的文件,文件系统和包含模糊测试文件的文件系统,来测试取证工具的鲁棒性
Windows IPC Fuzzing Tools: 使用 Windows 进程间通信机制进行模糊测试的工具
WSBang: 基于 Web 服务自动化测试 SOAP 安全性
Construct: 用于解析和构建数据格式(二进制或文本)的库
fuzzer.py(feliam): 由 Felipe Andres Manzano 编写的简单模糊测试工具
Fusil: 用于编写模糊测试程序的 Python 库
Web
Requests: 优雅,简单,人性化的 HTTP 库
HTTPie: 人性化的类似 cURL 命令行的 HTTP 客户端
ProxMon: 处理代理日志和报告发现的问题
WSMap: 寻找 Web 服务器和发现文件
Twill: 从命令行界面浏览网页。支持自动化网络测试
Ghost.py: Python 写的 WebKit Web 客户端
Windmill: Web 测试工具帮助你轻松实现自动化调试 Web 应用
FunkLoad: Web 功能和负载测试
spynner: Python 写的 Web浏览模块支持 Javascript/AJAX
python-spidermonkey: 是 Mozilla JS 引擎在 Python 上的移植,允许调用 Javascript 脚本和函数
mitmproxy: 支持 SSL 的 HTTP 代理。可以在控制台接口实时检查和编辑网络流量
pathod/pathoc: 变态的 HTTP/S 守护进程,用于测试和折磨 HTTP 客户端
请问web开发工具都有哪些?
Web前端开发是目前非常有“钱”途的行业,不仅从业人员众多,相应的开发工具也不断涌现。
1、jQuery
jQuery由于其无限的教程,没有跨平台/浏览器问题,优秀的用户界面,大量的插件以及它的轻量,快速和快速学习等特点而脱颖而出。超过70%的受访者选择jQuery作为他们的前端库,它是一个快速,轻量级和简洁的JavaScript库,主要用于HTML文档遍历、事件处理、动画和用于快速Web开发的Ajax交互。从本质上讲,jQuery最适合需要快速开发的应用程序。
2、Bootstrap
超过65%的开发者选择Bootstrap作为他们最喜欢的框架来使用,它是一个用HTML、CSS和JS开发的开源工具包。Bootstrap的广泛流行主要是因为它的简单使用、优秀的社区以及大量的文章和教程、第三方插件和扩展、主题构建器等。
3、Angular
如果你打算构建一个动态且强大的单页应用程序,Angular就是你需要的框架。Angular是高度模块化的,因此非常适合与团队分开大型工作,并且使测试和调试变得轻松。功能优先的方法使Angular更加专注于功能,使开发人员的工作更轻松。此外,它还有来自Google社区的出色工具和支持。
4、NPM
NPM是Node的包管理器。借助NPM,开发人员可以安装各种模块进行Web开发,共享和借用软件包,并管理私有开发。它由网站、命令行界面(CLI)和注册表三个不同的组件组成。
5、Webpack
Webpack是现代JavaScript应用程序的模块打包程序,它将前端开发所需的所有资源(如JavaScript、字体和图像)集中到一个地方。如果你正在开发复杂的前端,这特别有用。你可以去通过部署具有的WebPack Web应用程序,以获取有关的WebPack起来和运行。
除了以上工具,还有Sass、React等,根据企业所用工具的不同,你需要掌握的工具也不一样。但熟练应用这些工具的前提是你具备扎实的理论基础,
希望对您有所帮助!~
求推荐几款WEB安全漏洞扫描的工具
我个人比较推荐Acunetix Web Vulnerability Scanner
你可以看看绿盟推荐10款,并有分析。
web渗透测试之攻破登录页面
当我们在做渗透测试时,无论厂商项目还是src众测项目,都会遇到给一堆登录系统的URL,然后让我们自己去测,能不能进去全看天的状况,本文将讲一下怎么突破这种封闭的web系统,从而进行更深层次的渗透 ,学完后你会发现,其实你就是系统管理员。
如果能直接绕过登录系统界面,后面的就比较好做了,目前常见的登录系统绕过方法有:
大部分情况下,系统登录页面都不存在xss,目录遍历,SQL注入等漏洞,这时候最常用的方法就是爆破和猜解登录口令,密码猜解最关键的就是字典要高效准确
https:// down.52pojie.cn/Tools/N etwork_Analyzer/Burp_Suite_Pro_v1.7.31_Loader_Keygen.zip
2.准确的用户名,密码字典是高效破解的重中之重 ,一般都是指定几个常见用户名 ,尝试 top500,top1000进行爆破 字典不必要太大,最重要的是针对性要强 ,下面是top1000:
链接: https:// pan.baidu.com/s/1-XztuB 8YTfpT5aUBVbmbzA 密码: 56pb
3.如果还是不能猜解成功,就要根据目标信息用字典生成器构造针对性的字典来猜解了,推 荐几个比较好的字典生成工具
pydictor:
LandGrey/pydictor
crunch:
crunch - wordlist generator
Cewl:
digininja/CeWL
Cupp:
Mebus/cupp
因为管理员权限较高,通常我都会先进行管理员口令的猜解,总结了一些常见的管理员用户名字典
u链接:/u u https:// pan.baidu.com/s/1sOD1-u whnStaw_LfMOf-sQ /uu密码: 3yqe/u
用此用户名字典,再加上弱口令top1000,同时爆破系统管理员用户名密码
链接: https:// pan.baidu.com/s/1-XztuB 8YTfpT5aUBVbmbzA 密码: 56pb
常见的普通用户用户名是姓名拼音,总结了普通用户字典
TOP3000姓名
u链接:/u u https:// pan.baidu.com/s/1qN9kCF tymP4ugvu3FFkKbA /uu密码: hkzp/u
TOP10w姓名
https:// github.com/rootphantome r/Blasting_dictionary/blob/master/top10W.txt
通常可以选择几个弱口令密码,比如:123456,123abc,111111,然后配合top10w来猜解登陆口令,一些初始化的默认密码也很简单,如果能找到配合top10w通常也能爆出登录口令
现在的业务系统口令传输到后端前都会进行加密处理 ,web常见的加密方式有 md5 加密、sha1 加密、RSA 加密,在此基础上总结了两种破解方式:
1.利用burpsuite的payload processing功能,把字典按照加密方式先加密再发包
2.用字典生成工具生成加密好的字典,然后burp直接加载加密字典
这里推荐的字典生成工具是pydictor,encode功能内置了多种加密算法,调用handler工具直接加密自己的明文字典
如果登录系统设置了IP地址白名单,我们可以通过下面的几个http头字段伪造IP地址,用burp抓包后将下面的某个http头字段加入数据包发送到服务器
pre class="prettyprint hljs css" style="padding: 0.5em; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; color: rgb(68, 68, 68); border-radius: 4px; display: block; margin: 0px 0px 1.5em; font-size: 14px; line-height: 1.5em; word-break: break-all; overflow-wrap: break-word; white-space: pre; background-color: rgb(246, 246, 246); border: none; overflow-x: auto;"Client-Ip: 127.0.0.1
X-Client-IP: 127.0.0.1
X-Real-IP: 127.0.0.1
True-Client-IP: 127.0.0.1
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-Forwarded-Host: 127.0.0.1/pre
如果在系统登陆界面加上了验证码,那么上面的方法基本上就都失效了,那有什么方法可以绕过验证呢
1.图形验证码不刷新
在一段时间内只要不刷新页面,无论登录失败多少次都不刷新验证码,这个时候就可以使用同一个验证码根据上面的方式进行暴力破解
2.验证码失效
不管在验证码表单输入什么样的数据,都会判断通过,但这种情况很少见
3.图形验证码可被识别,抓包直接可以获得验证码
很多网站的验证码都可以在请求数据包中找到,或者隐藏在request的cookie中,response的源码中,可以利用burpsuite的macros来匹配response中的相应数据,具体的爆破方法参见下文:
burpsuite爆破密码(含验证码) - CSDN博客
4.图形验证码参数直接绕过
对于request数据: user=adminpass=1234vcode=brln,有两种绕过方法:
一是验证码空值绕过,改成 user=adminpass=1234vcode=;
一是直接删除验证码参数,改成 user=adminpass=1234。
5.万能验证码
渗透测试的过程中,有时候会出现这种情况,系统存在一个万能验证码,如0000、9999,只要输入万能验证码,就可以无视验证码进行暴力破解。
6. 验证码可被识别
有些图形验证码加入的像素线条过于简单,使用图形验证码识别工具可以识别出每次更换的验证码,在平常的漏洞挖掘过程中,如果我们发现登录的验证码非常简单且易于识别,那我们就可以尝试使用自动化工具来进行登录破解了,如 PKAV 的 HTTP Fuzzer
7.使用机器学习算法识别验证码
主要是对特定网站的图形验证码训练识别模型,达到一定的准确率就可以调用进行模拟提交图形验证码的值了。可参考以下三篇文章进行学习:
使用KNN算法识别验证码:
http:// nladuo.github.io/2016/0 9/22/%E9%AA%8C%E8%AF%81%E7%A0%81%E7%A0%B4%E8%A7%A3%E6%8A%80%E6%9C%AF%E5%9B%9B%E9%83%A8%E6%9B%B2%E4%B9%8B%E4%BD%BF%E7%94%A8K%E8%BF%91%E9%82%BB%E7%AE%97%E6%B3%95/
卷积神经网络识别验证码
http:// nladuo.github.io/2016/0 9/23/%E9%AA%8C%E8%AF%81%E7%A0%81%E7%A0%B4%E8%A7%A3%E6%8A%80%E6%9C%AF%E5%9B%9B%E9%83%A8%E6%9B%B2%E4%B9%8B%E4%BD%BF%E7%94%A8%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/
使用 TensorFlow 训练验证码
http:// nladuo.github.io/2017/0 4/10/%E4%BD%BF%E7%94%A8TensorFlow%E8%AE%AD%E7%BB%83Weibo-cn%E9%AA%8C%E8%AF%81%E7%A0%81/
对于网站要求输入手机号,接收手机短信并校验短信验证码是否正确进行登录的系统,突破的主要思路有:
1.短信验证码生命期限内可暴力枚举
在验证码还未过期的时间段内,可枚举全部的纯四位数字、六位数字等较简单的短信验证码;
2. 短信验证码在数据包中返回
和图形验证码一样,在response中可以直接获取到短信验证码。
3. 修改请求数据包参数或 Cookie 值绕过
比如有 post 数据包:mobile=12435437658userid=123456, Cookie中有:codetype=1
在特定步骤,修改 mobile=自己的手机号,自己手机就可以收到别人的验证码,后面再用别人的手机号和接收到的验证码登录;
修改 Cookie 中可疑的参数和值,进行绕过,比如上面修改 codetype=0;
4. 修改返回包绕过
提交错误的短信验证码,返回包中有: status=false,在Burpsuite中修改为 status=true,即可绕过前端判断,成功进入系统。具体还要结合实际的场景,灵活操作。
web系统登陆页面看似铜墙铁壁,但其实只要梳理一遍思路,右键看过每一行网站源码,弄懂每个参数的意义,查看每一个js文件,就会发现其实自己就是系统管理员,只是我把密码忘了,现在我要用上面的方式进入。