Kali学习笔记27:Burpsuite(上)
文章的格式也许不是很好看,也没有什么合理的顺序
完全是想到什么写一些什么,但各个方面都涵盖到了
能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道
如果我只能选择一款工具进行Web渗透,那么一定就是Burpsuite
Burpsuite被誉为Web安全界的瑞士军刀,功能强大而精致
集成了多种工具,几乎所有的Web漏洞都可以用它来发现和利用
Burpsuite不是开源的,Kali集成免费版,没有主动扫描功能
由于Burpsuite是Java开发的,虽然Kali自带Open Java,但是最好下载Oracle Java
顺便说下,后边有可能要用到:jython-standalone-2.7.0.jar,可以在网上下载
先简单说说安装JDK,到官网注册后下载:
就JDK1.7.0_45的64位为例:
解压、移动:
tar -xzvf /root/jdk-7u45-linux-x64.tar.gz
mv jdk1.7.0_45 /opt
cd /opt/jdk1.7.0_4
注册(这里给FireFox用到的插件也注册和配置了Java):
update-alternatives --install /usr/bin/java java /opt/jdk1.7.0_45/bin/java 1
update-alternatives --install /usr/bin/javac javac /opt/jdk1.7.0_45/bin/javac 1
update-alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /opt/jdk1.7.0_45/jre/lib/amd64/libnpjp2.so 1
如果是32位:/jre/lib/i386/目录下找到libnpjp.so即可
配置:
update-alternatives --set java /opt/jdk1.7.0_45/bin/java
update-alternatives --set javac /opt/jdk1.7.0_45/bin/javac
update-alternatives --set mozilla-javaplugin.so /opt/jdk1.7.0_45/jre/lib/amd64/libnpjp2.so
验证:java -version 成功
我这里不使用Burp免费版,我想办法下载到了Burp1.6破解版
破解版启动需要安装Java
./burp.sh启动即可
链接:https://pan.baidu.com/s/1icCjMV7jC89BzrCedrHPrQ
提取码:pdum
OK,开始介绍Burpsuite:
Burpsuite强大的功能之一:截断代理
所以我们必须要给浏览器配置代理,上一篇介绍OWASP_ZAP中有提到:
我使用的是FireFox的AutoProxy插件:Burp默认监听8080端口
CA:
首先我们先处理证书问题:比如我现在访问一个HTTPS网站:报错
需要在Burp中进行配置:导出证书:
Export建议选择第一个,不需要私钥,然后进行导出,再到浏览器中导入
这是一种传统方式,现在介绍Burp特有的方式:
访问http://burp,保存证书
以FireFox为例,打开Perference-->Advanced进行导入
OK:现在访问Https的网站就不会有报错信息了:
默认Burp是开启截断的,我们可以看到截断的信息
注意:Burp默认拦击请求流量,不拦截响应流量
如果我们想要拦截Response,或者自定义:需要设置这里Proxy-->Options
这里自定义截断请求:
解释:
不拦截GIF,JPG等一些图片文件或者JS这样的资源文件,因为通常这些文件不存在漏洞
下边的两个选项(Auto开头),第二个建议勾选
下面是自定义截断响应:默认不截断,可以打上勾
这里默认勾选的是:text形式,其实就是网页信息
下面还有WebSocket截断配置,需要可以配置
注意响应修改项,我们可以适当地修改相应内容,来更好地渗透
我够选的这些是建议勾选的,比较有用
以及一个实用功能:匹配替换:
可以把所有的请求或者响应中的某些参数修改,在后边的渗透过程中可能会用到,方便操作
访问目标是DVWA:
Kali机器IP:192.168.163.132
Metasploitable(DVWA)机器IP:192.168.163.129
我用浏览器访问一次,截断成功,然后我们查看Target就可以看到我们访问过的网站:
这里灰色和褐色的区别是:黑色URL是我实际访问到的,灰色的是可以访问,但没有访问的,其实就是Burp自动爬网的结果
我发现有太多的不关心的网站,如何过滤?使用Scope:站点右键Add To Scope
然后点击上边的白条,选择只看Scope条目
这时候就只有我们希望看到的
这里看到了这么多的过滤选项,实际中我们也可以使用上面的各种过滤选项进行过滤
其他的过滤都能看懂,最后一栏:commented和highlighted需要注意,我们可以给某条记录加注释和高亮,然后用这个选项来过滤
到此,Burp的两个基本模块就介绍完了
下面介绍Burp强大的一些功能模块:
Spider爬网工具:
爬网包括手动爬网和自动爬网
默认是开启被动爬网的
如果想主动爬网,右键Spider即可
主动爬网的过程中会跳出对话框,让你输入表单的用户名和密码
值得一提的是,我们可以把一次爬网的过程保存成一个ZIP文件,然后和下一次爬网的记过进行对比:
实际用途:我们在渗透网站时候,通常会以管理员和用户身份进行访问
这时候如果可以存下来两者的数据,再进行对比,高亮显示,会有很直观的感觉:
以DVWA的安全度分别是low和high模拟两种身份,先把其中一种爬网完成后保存到一个文件
站点右键Compare site maps:
先选当前的,再选择之前保存的文件,进行对比:
在高亮显示下,很方便地就可以看出来区别
既然爬网完成了,接下来就是扫描,避免篇幅过长,下一篇再说
Kali学习笔记27:Burpsuite(上)的更多相关文章
- SpringMVC:学习笔记(8)——文件上传
SpringMVC--文件上传 说明: 文件上传的途径 文件上传主要有两种方式: 1.使用Apache Commons FileUpload元件. 2.利用Servlet3.0及其更高版本的内置支持. ...
- Django:学习笔记(8)——文件上传
Django:学习笔记(8)——文件上传 文件上传前端处理 本模块使用到的前端Ajax库为Axio,其地址为GitHub官网. 关于文件上传 上传文件就是把客户端的文件发送给服务器端. 在常见情况(不 ...
- Web安全学习笔记 SQL注入上
Web安全学习笔记 SQL注入上 繁枝插云欣 --ICML8 SQL注入分类 SQL注入检测 一.注入分类 1.简介 SQL注入是一种代码注入技术用于攻击数据驱动的应用程序在应用程序中,如果没有做恰当 ...
- [原创]java WEB学习笔记27:深入理解面向接口编程
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- springmvc学习笔记--支持文件上传和阿里云OSS API简介
前言: Web开发中图片上传的功能很常见, 本篇博客来讲述下springmvc如何实现图片上传的功能. 主要讲述依赖包引入, 配置项, 本地存储和云存储方案(阿里云的OSS服务). 铺垫: 文件上传是 ...
- Javaweb学习笔记10—文件上传与下载
今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容. ...
- DP动态规划学习笔记——高级篇上
说了要肝的怎么能咕咕咕呢? 不了解DP或者想从基础开始学习DP的请移步上一篇博客:DP动态规划学习笔记 这一篇博客我们将分为上中下三篇(这样就不用咕咕咕了...),上篇是较难一些树形DP,中篇则是数位 ...
- Kali学习笔记38:文件上传漏洞
早些年,提到Web渗透,或者搜索一些黑客教程 基本都会看到文件上传漏洞. 它是一个很经典的漏洞 但它本质其实不是一个漏洞,而是网站本身的上传文件功能 不过如果我们上传了Webshell,那么就成为了文 ...
- Kali学习笔记28:Burpsuite(下)
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 扫描: 上一篇介绍到了爬网,那么到这里我以及爬取了一个 ...
随机推荐
- 递归,re,time,random
递归函数 1.在函数中调用自己 2.超过递归的最大深度报错,递归的最大深度:998大概 3.递归的缺点:占内存 4.优点:代码简单 import sys sys.setrecursionlimit(2 ...
- MVC htmlAttributes and additionalViewData
@Html.TextBoxFor(m => m.UserName, new { title = "ABC" }) // 输出结果为 <input data-val=&q ...
- python 字典 拼接SQL语句
def gen_sql(table_name, data): """ :param table_name: 表名称 :param data: 字典对象 key为字段(要 ...
- Linux下docker报错syntax error:unexpected protocol at end of statement
---恢复内容开始--- [Linux]Shell脚本“syntax error: unexpected end of file”原因及处理 :::https://blog.csdn.net/u013 ...
- 在Jenkins上配置批处理删除远程共享目录7天以上的文件
net use * /del /yes NET USE X: \\10.29.48.12\shares\Test password /user:DOMAIN1\account set AutoPath ...
- Android学习(三)
学号 20189214 <Android程序开发>第八周学习总结 教材学习内容总结 GridView GridView和ListView一样是AbsListView的子类; 都需要一个Ad ...
- javascript、JSP、JS有什么区别和联系
js是javascript的缩写.以下是JSP与JS的区别和联系: 名字:JS:JavaScriptJSP:Java Server Pages 执行过程:JSP先翻译,翻译成Servlet执行如: t ...
- 1-spring boot 入门
我从08年到现在,毕业马山就10年了,一直从事.net平台开发工作(期间应该有1年时间从事java开发). 一.为什么要转java: 1.目前市场很多招聘java架构师的职位,且薪资都不错,但.net ...
- the default terminal(gnome-terminal) start up fail
Platform: Ubuntu 16.04 LTS Reason: variable $LANG on system is empty Solution: localectl set-locale ...
- Java:Map总结
概要 学完了Map的全部内容,我们再回头开开Map的框架图. 本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同 转 ...