文章的格式也许不是很好看,也没有什么合理的顺序

完全是想到什么写一些什么,但各个方面都涵盖到了

能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道

如果我只能选择一款工具进行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(上)的更多相关文章

  1. SpringMVC:学习笔记(8)——文件上传

    SpringMVC--文件上传 说明: 文件上传的途径 文件上传主要有两种方式: 1.使用Apache Commons FileUpload元件. 2.利用Servlet3.0及其更高版本的内置支持. ...

  2. Django:学习笔记(8)——文件上传

    Django:学习笔记(8)——文件上传 文件上传前端处理 本模块使用到的前端Ajax库为Axio,其地址为GitHub官网. 关于文件上传 上传文件就是把客户端的文件发送给服务器端. 在常见情况(不 ...

  3. Web安全学习笔记 SQL注入上

    Web安全学习笔记 SQL注入上 繁枝插云欣 --ICML8 SQL注入分类 SQL注入检测 一.注入分类 1.简介 SQL注入是一种代码注入技术用于攻击数据驱动的应用程序在应用程序中,如果没有做恰当 ...

  4. [原创]java WEB学习笔记27:深入理解面向接口编程

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. springmvc学习笔记--支持文件上传和阿里云OSS API简介

    前言: Web开发中图片上传的功能很常见, 本篇博客来讲述下springmvc如何实现图片上传的功能. 主要讲述依赖包引入, 配置项, 本地存储和云存储方案(阿里云的OSS服务). 铺垫: 文件上传是 ...

  6. Javaweb学习笔记10—文件上传与下载

    今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容.       ...

  7. DP动态规划学习笔记——高级篇上

    说了要肝的怎么能咕咕咕呢? 不了解DP或者想从基础开始学习DP的请移步上一篇博客:DP动态规划学习笔记 这一篇博客我们将分为上中下三篇(这样就不用咕咕咕了...),上篇是较难一些树形DP,中篇则是数位 ...

  8. Kali学习笔记38:文件上传漏洞

    早些年,提到Web渗透,或者搜索一些黑客教程 基本都会看到文件上传漏洞. 它是一个很经典的漏洞 但它本质其实不是一个漏洞,而是网站本身的上传文件功能 不过如果我们上传了Webshell,那么就成为了文 ...

  9. Kali学习笔记28:Burpsuite(下)

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 扫描: 上一篇介绍到了爬网,那么到这里我以及爬取了一个 ...

随机推荐

  1. Requset模块

    Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库 各种请求方式: #!/urs/bin/evn python # -*- cod ...

  2. 堆&栈的理解(转)

    (摘自:http://www.cnblogs.com/likwo/archive/2010/12/20/1911026.html) C++中堆和栈的理解 内存分配方面: 堆: 操作系统有一个记录空闲内 ...

  3. abp 设置默认语言为中文

    abp 设置默认语言为中文 abp的默认语言设置,存放于数据库表AbpSettings中,这样配置可使默认语言为中文: name: Abp.Localization.DefaultLanguageNa ...

  4. redis设计原则

    基本原则 只应将热数据放到缓存中 所有缓存信息都应设置过期时间 缓存过期时间应当分散以避免集中过期 缓存key应具备可读性 应避免不同业务出现同名缓存key --->解决方法:  保证键名不冲突 ...

  5. 最简单的struts应用

    博客园 1.搭建一个简单的Struts2应用 具体为一下几个步骤: 1.引入Struts 2工程所需运行库文件. 2.创建并配置web.xml文件 3.创建一个Action类 4.创建并配置strut ...

  6. mysql几种关联的区别

    1.平时都是用的逗号的模式:select * from a,b where a.id=b.id,逗号的模式等于inner join和join: 2.left join 和 right join相反,效 ...

  7. 转存下链接--- Java awt Swing 进行拖拽实现布局

    http://blog.csdn.net/vpingchangxin/article/details/8673825 swing开发图形界面工具,eclipse swing图形化操作界面工具配置

  8. 【信号与线性系统】为什么求解零输入响应时转移算子H(p)不能约分,但计算单位冲激响应时却可以约分?

    为什么求零输入响应rZI时转移算子H(p)不能约分? . . . 我们知道,求零输入响应rZI的实质其实是求解微分方程 D(p)r(t) = N(p)e(t) 的解.由于这里 e(t)=0 ,所以这是 ...

  9. IDEA的Find菜单使用

    想要显示Find菜单在底部,如图: 选中一个类,如Cloneable,然后按键Ctrl+Alt+B(相当于eclipse中的ctrl+T) 显示如图,选择最右上角的固定标签 就会把它固定在控制台菜单中 ...

  10. JAVA 8 主要新特性 ----------------(七)新时间日期 API ----- Duration “时间”间隔

    Duration:用于计算两个“时间”间隔 简介: 用法: 1.Zero常量 实例: Duration duration = Duration.ZERO; System.out.println(&qu ...