Burp Suite

53人阅读 评论(0) 收藏 举报
分类:

  Burp Suite(简称bp) 是用于Web 应用安全测试工具的集成平台,包含许多工具。

  Proxy :一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许拦截客户端发送到服务端的请求数据包

Intruder:一般用于爆破密码,用户名,还可以进行sql注入的测试,来查看过滤了哪些语句,关键词

Repeater:在Proxy拦截请求数据包后,发送到Repeater,在Repeater模块可以修改请求数据包的内容,单击Go

按钮后,可以发送请求(request)数据包到服务端,并在右侧返回服务端发回的内容(响应response)

decoder:用于编解码

comparer:用于比较两段文字的差异,并可以得到一个可视化的差异

bp可以用来跳过前端验证即Javascript的验证

javascript属于前端验证,在浏览器未提交数据时进行验证,用来防止用户输入错误,而我们是在通过验证,并拦截HTTP请求后修改数据,javascript的验证根本起不了任何作用,由此可见,前端验证是不可靠的。服务器端的验证是为了防止恶意攻击。

bp首先需要从proxy的option中设置代理,和浏览器火狐或者是Google的代理一致,手动配置代理  127.0.0.1:端口

然后到intercept中 切换到intercept is on  刷新一下浏览器的页面即可拦截到发送的请求,此时浏览器会一直处于阻塞状态

学bp,首先要熟悉http协议,https://www.jianshu.com/p/80e25cb1d81a

bp一般就是用来拦截请求包然后修改,进行绕过服务器端的检测,比如大小写绕过,php别名绕过,%00截断,利用未知后缀名绕过等等,还有经常用来就是Intruder,利用字典 爆破密码,用户名,弱口令,还可以整理一份自己的sql注入语句字典(kali好像自带着有一份)来检测过滤了什么关键字等等,然后在利用未过滤的,可以影响数据库的标点等等来构造payload

用几个题目来叙述一下ctf中bp的常规用法

0x01 comparer:记得前些天的TCTF,有一道杂项题,就是来比较两段文字的差异,而这差异就是一份文章是完整的,而另一份则是不完整的,隔几行就缺少了几个字母,最终把这缺少的字母连起来就是flag。当初队友是用了另外一个文件比对的工具,还要逐行的去找,看起来好麻烦的说

flag{i like it}

0x02 i春秋-web-“百度杯”CTF比赛 十月场Login

常规先右键查看源代码,发现最下面有<!-- test1 test1 --> 可能是账号和密码 输入进去 进入到/member.php 发现(╯‵□′)╯︵┴─┴,没什么东西,用bp抓包看看,


发现response中的headers中的show  值为  0     一般,做题中常见的有sources  值为  0   ,这次又遇见了show  值为   0的 在计算机中  0代表假   1代表真  类似于信息隐藏吧,此值决定着是否开启on or off 隐藏的内容

此时我们从request的请求段中构造show: 1   然后go  出现源代码   开始php代码审计

<!-- <?php
	include 'common.php';
	$requset = array_merge($_GET, $_POST, $_SESSION, $_COOKIE);
	class db
	{
		public $where;
		function __wakeup()
		{
			if(!empty($this->where))
			{
				$this->select($this->where);
			}
		}

		function select($where)
		{
			$sql = mysql_query('select * from user where '.$where);
			return @mysql_fetch_array($sql);
		}
	}

	if(isset($requset['token']))
	{
		$login = unserialize(gzuncompress(base64_decode($requset['token'])));
		$db = new db();
		$row = $db->select('user=\''.mysql_real_escape_string($login['user']).'\'');
		if($login['user'] === 'ichunqiu')
		{
			echo $flag;
		}else if($row['pass'] !== $login['pass']){
			echo 'unserialize injection!!';
		}else{
			echo "(╯‵□′)╯︵┴─┴ ";
		}
	}else{
		header('Location: index.php?error=1');
	}

?> -->

想要得到flag  需要$login['user'] === 'ichunqiu'    token属于cookie   把request得到的token先base64解密,在进行gzuncompress解压缩,然后在进行反序列化  最后赋值给变量login   如果此时的$login的值为ichunqiu 即可成功得到flag

array(key=>value)   key='user'    value='ichunqiu'        先序列化serialize()  再压缩 gzcompress()  最后在base64加密 得到最初的token    一个简陋的脚本  

<?php
$a=array('user'=>'ichunqiu');
$b=base64_encode(gzcompress(serialize($a)));
echo $b
?>

运行得到eJxLtDK0qi62MrFSKi1OLVKyLraysFLKTM4ozSvMLFWyrgUAo4oKXA==   


我们从request的params中add一行  


然后go 在response中可以看到flag

我觉得此题的原理就是利用token来验证身份,知道了token是什么,在请求中来添加token就可以通过验证 即可得到flag,token的由来 就是通过代码审计,网站的源代码泄露,导致我们可以看到源代码,进行代码审计来查看加密过程和通过条件,知道了这一切,写出算法程序解密,即可构造出payload

0x03 bugku-web-这是一个神奇的登录框

url中提示为sql注入  查看源代码  发现是用post方式提交数据  随便输入账号密码提交抓包右键copy to file 第一次见这么用bp的,,,

kali sqlmap  sqlmap.py -r "绝对路径" -p admin_name --dbs    -r为读文件   然后是保存file的绝对路径   -p选取admin_name为注入点   --dbs 是获取当前数据库    


应该是bugkusql1         information_schema应该是sql注入中经常构造语句使用的数据库,此数据库记录了很多其他数据库的消息     爆出数据库后是 找表  再找列    最后爆出列所包含的内容字段   

sqlmap.py -r "绝对路径" -D bugkusql1 -p admin_name --tables         -D为 此时的数据库    --tables是查看此数据库的所有表


sqlmap.py -r "绝对路径" -D bugkusql1 -T flag1 -p admin_name --columns    -T指定表       --columns 查看此数据库此表中的所有列  


sqlmap.py -r "绝对路径" -D bugkusql1 -T flag1 -C flag1 -p admin_name --dump   -C指定列名      --dump获取字段  得到flag

小结一下:bp新用法 ,把请求的内容加载到文件中 ,用sqlmap来使用读取加载的文件,找到注入点,然后一路爆破,查看数据库 查看表 查看列 查看字段

0x04  bugku-文件上传测试

上传一个jpg文件,回显说非PHP文件。上传一个php文件,回显非图片文件,然后再次上传一个php文件的时候,用bp截断,发送到repeater后,修改request中的Content-Type:   把原本是application/octet-stream  更改为 image/jpeg 或image/png  或  image/gif    都可以


属于服务端验证绕过-Content-type检测  若服务端检测文件类型时是检测Content-type的值  在bp中修改Content-type即可绕过检测




















查看评论

Web 安全工具篇:Burp Suite 使用指南

本文来自作者 肖志华 在 GitChat 上分享 「Web 安全工具篇:Burp Suite 使用指南」,「阅读原文」查看交流实录。「文末高能」编辑 | 哈比前提声明:此次 Gitchat 分享所写,...
  • GitChat
  • GitChat
  • 2018-01-26 00:00:00
  • 224

Burp Suite下载使用和暴力注册实战

一、Burp suite简单介绍 Burp suite是由portswigger开发的一套用于Web渗透测试的集成套件,它包含了spider,scanner(付费版本),intruder,repea...
  • wugang8023
  • wugang8023
  • 2014-10-17 21:08:39
  • 862

Burp Suite详细使用教程

http://www.importnew.com/cat/news Burp Suite详细使用教程 http://www.guanwei.org/post/securitytoo...
  • raymondual
  • raymondual
  • 2013-03-10 20:14:48
  • 4286

Burp suite的安装教程

http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_...
  • u014672390
  • u014672390
  • 2015-08-12 15:43:17
  • 1288

Android+Burp suite 配置

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • liberator00
  • liberator00
  • 2017-06-27 16:36:57
  • 253

Burp_Suite_Professional 1.7.26 和谐版,破解版

  • 2017年12月01日 12:32
  • 25.61MB
  • 下载

Burp Suite 详细使用教程

from 红黑联盟 http://www.2cto.com/Article/201207/139493.html
  • cuipan1234
  • cuipan1234
  • 2016-10-08 16:19:53
  • 227

burpsuite最新版

  • 2016年01月13日 17:11
  • 13.47MB
  • 下载

Burp Suite使用介绍(二)

Burp Suite使用介绍(二) Repeater Burp Repeater(中继器)是用于手动操作和补发个别HTTP请求,并分析应用程序的响应一个简单的工具。您可以发...
  • muier
  • muier
  • 2016-03-31 20:21:20
  • 2036

Burp Suite基础教学 之 Target

在介绍Target功能之前,先介绍另一个东西 -- 浏览器代理。 那什么是浏览器代理? 提供代理服务的电脑系统或其它类型的网络终端称为代理服务器(英文:Proxy Server)。一个完整的代理请...
  • RaAlGhul
  • RaAlGhul
  • 2017-11-29 16:37:18
  • 195
    个人资料
    等级:
    访问量: 109
    积分: 61
    排名: 162万+
    文章分类
    文章存档