http基础—BP使用和爆破

一、BP使用

1.概述

(1)概念:bp即burpsuite是跨平台应用,因为它是基于Java开发的,所以只要有jdk就能运行。

(2)功能:抓包、改包、重放包是他的主要功能。

(3)它是代理工具,相当于中间人的角色,浏览器挂代理才能抓包。

2.配置代理

(1)默认监听本机的127.0.0.1的8080端口,bp的代理选项点击设置查看。

(2)浏览器配置:两种方法,一种是设置—常规—网络设置—手动配置127.0.0.1 8080,然后保存,之后在用bp时将网络设置改过去;第二种是使用扩展switchyOmega,然后在其中的proxy中配置,将不代理的内容清空,然后应用选项即可。

(3)导入证书:将浏览器代理切换到bp,打开bp中的拦截,然后在浏览器url中输入burp/

点击CA证书,保存文件,然后在设置—隐私与安全—证书部分将证书导入,弹出的框内内容全选就好,然后确定,完成导入。

(4)然后测试一下是否成功:打开bp拦截,浏览器挂上代理,随便输入一个网址,看bp是否抓取到,能抓取到即成功。

3.功能

(1)原理:bp本质上和中间人攻击没区别,不管是浏览器发给我们还是我们回给浏览器,都要经过bp的手进行传递,只不过bp是本地部署的中间人,是自己创造的。

(2)模块:

        proxy—代理。抓包、放包、丢包;右键点击抓到的内容,还可以发送到各个模块进行操作。

        target—站点目标,地图。查看bp收到的包的信息和网站目录结构。

        repeater—http请求和响应消息的重放。我们可以把抓到的消息右键发送到repeater模块,然后可以改变页面的一些内容,点击发送还可以看到页面渲染的样子。

        intruder:暴力破解。同样抓到的包右键发送至模块,然后选择暴力破解的地方和手段,增添字典,进行破解。

        decoder:编码工具。可以进行编码和解码,很方便。

二、http介绍

1.http特点

(1)支持客户端/服务端模式CS、BS(没有客户端)、P2P(点对点没有中间连接点)

(2)简单快速灵活

(3)无状态:对事物处理没有记忆功能。就是你上一秒对他做了什么,刷新一下后,他不记得你是谁,你做了什么,想要登入还得在此验证身份。为解决这个问题,我们引入了cookie。

2.cookie

cookie由服务器生成,传给客户端记录,保存在客户端本地,客户端向服务器发送请求时会带上cookie,认证成功后便可以省去登录的步骤。本质上cookie解决了http无状态的问题,但是cookie本身存在漏洞。

3.session

光有cookie是不够的,cookie与session对应使用,session也叫会话。session存在服务端,cookie存在客户端,当客户端携带cookie向服务端发送请求时,服务端会将cookie信息提取出来与服务端存储的session信息进行比对,比对成功后才能完成认证。

区别:cookie存储在客户端,session存储在服务端;

        cookie存储形式为ASCII,session可以存任意数据类型;

        cookie可长时间保存,session保存时间短;

        cookie保存的数据不能超过4k,session可存储数据量远大于cookie。

        但是不管是cookie还是session都是由服务器端形成的。

4.token

很多web漏洞都是如cookie和session造成的,所以我们要解决这个问题,就引入了token概念。

如果服务器端有很多太服务器,客户端去响应时不一定会响应哪一台服务器,那么我们存在服务器端的session就没用了,因为你不知道你后面访问的服务器是否存储了你的session,解决这个问题的一个办法是在形成session时给每一台服务器都复制一份信息,但是,这样就会造成多台服务器的存储压力并没有降低,且消息冗余,所以我们可以采取token方式。

token本质上和session没什么区别,只是它只存储在浏览器上,不会上传到服务器端,而在请求时server端用它的一套检验机制检验这个token是否合法,不合法就不会接收。且他本身携带uid,直接找到对应的用户,减轻了服务器的压力。

5.http报文

(1)url:统一资源定位符;格式:协议://主机名.服务器域名:端口号/文件路径/参数?传参点

(2)请求报文:具体格式如下图。

(3)响应报文:响应报文和请求报文严格对仗的,大体内容都差不多。

状态码。状态码由三位数字组成,第一个数字定义了响应的类别,共分五种类别:

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已被成功接收、理解、接受

3xx:重定向--要完成请求必须进行更进一步的操作

4xx:客户端错误--请求有语法错误或请求无法实现

5xx:服务器端错误--服务器未能实现合法的请求

常见的状态码有,200,302,304,400,403,404,500

三、暴力破解

1.概述

(1)它本身是一种漏洞,但属于业务逻辑层面的漏洞,在设置密码时密码过于简单,由一些简单组合构成,即我们所说的弱口令,然后使用穷举的方式将密码一遍遍输入其中,直到测试出真正的密码。

(2)场所:网站后台密码管理以及前端登入界面等。

2.弱口令

(1)常见弱口令

        root 、admin、123456、12345678、admin123等。

(2)地区特色的弱口令

        如中国人很喜欢6和8这两个数字,可能是666也可能是888

(3)社工弱口令

        针对某一个人的弱口令,在信息收集阶段我么你收集到了你的手机号、学号、工号、身份证号、生日等信息,然后形成专属于一个人的口令本。

3.暴力破解方法

(1)常见方法

字典匹配和穷举,对于穷举法来说,如果你的密码足够复杂和健壮,那么穷举会耗费很多时间,所以穷举法不经常使用;那么对于暴力破解来说最重要的就应该时字典了。一个好的字典会帮助你破解很多密码。密码字典:https://github.com/danielmiessler/SecLists

(2)九头蛇hydra:https://github.com/maaaaz/thc-hydra-windows

        进入文件根目录,在搜索框运行cmd,进入终端,运行hydra.exe会给出用法语句,练习即可

        对ftp服务爆破: hydra -L 用户字典 -P 密码字典 ftp://IP地址

(3)medusa

        kali的linux环境下使用,在这里就不介绍了,可以查询一下使用方法。

(4)bp爆破:我将使用暴力破解网站的第一题作为演示步骤。

        打开bp抓包以及浏览器代理,将账号和密码填进去,然后点击登录。

        将捕捉到的页面右键发送至intruder中,进行爆破。

选中要爆破的位置即admin和123,然后点击添加payload位置。

 攻击类型随便一个就行,有介绍,可以根据需求选择,因为有两个payload,这里我选择集束炸弹-多个payload集。

然后去payload去设置爆破字典。payload的集分别选1、2,然后在setting中加入字典,我们刚才下载的字典,每个都要导入一个字典,然后点击开始攻击即可。

 然后我们找出返回值跟其他不太一样的就是正确的答案了。

  • 43
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值