2023年7月31日发(作者:)

使⽤burp进⾏暴⼒破解——合天⽹安实验室学习笔记实验链接通过该实验掌握burp的配置⽅法和相关模块的使⽤⽅法,对⼀个虚拟⽹站使⽤burp进⾏暴⼒破解来使⽹站建设者从攻击者的⾓度去分析和避免问题,以此加强⽹站安全。实验简介实验所属系列:web安全实验对象:本科/专科信息安全专业相关课程及专业:⽹络安全,计算机⽹络实验类别:实践实验类预备知识Burp的⼯作模式:在没有burp之前,客户端使⽤浏览器直接与服务器进⾏通信。有了burp之后,burp在客户端与服务器之间充当代理。这样,浏览器发送给服务器的请求就会被burp进⾏捕获,⽽burp和wireshark这种审计类⼯具相⽐,其强⼤之处在于不仅可以做审计⼯作,更可以对数据包进⾏修改并发送出去。暴⼒破解:⼀般使⽤暴⼒破解都有两种原因:对这个漏洞的测试,⼈是可以完成的,即可穷举。⼈可以完成,但是代价太⼤,或者太浪费时间。正是出于这样的问题,⼀些软件的出现帮助⼈完成了这些测试,这就是暴⼒破解的真正好处。在业界曾经有这样的⼀种看法,对于暴⼒破解的使⽤都不屑⼀顾,因为⼤家觉得技术含量太低。但是,从实际的情况来看,因为⽤户使⽤弱⼝令情况太普遍,导致很多漏洞使⽤暴⼒破解都可以轻松拿下。暴⼒破解,最有价值的地⽅是在对字典的构造上,这是⼀门技术,需要长期的经验积累。实验⽬的通过该实验掌握burp的配置⽅法和相关模块的使⽤⽅法,对⼀个虚拟⽹站使⽤burp进⾏暴⼒破解来使⽹站建设者从攻击者的⾓度去分析和避免问题,以此加强⽹站安全。在此郑重声明,本教程只做教学⽬的,严禁使⽤本教程对线上⽹站进⾏破坏攻击。实验环境服务器:windows xp sp3 ip地址:10.1.1.163测试者:windows xp sp3 ip地址随机实验步骤步骤⼀Burp是个⾮常强⼤的web分析⼯具。burp在浏览器和服务器之间充当了⼀个双向代理。这样,就可以把⽤户或者服务器通信过程中产⽣的数据包给截获下来,让专业⼈员去分析。本次实验,需要完成的任务有:配置burp和浏览器代理,使burp能够正常运⾏学会使⽤burp中的compare模块学会使⽤burp中的 repeat模块学会使⽤burp中的intruder模块配置burp和设置ie代理在预备知识中我们了解到,burp在浏览器(客户端)是以代理的⽅式存在。因此,如果想要我们发送的包被burp截断,就需要双⽅协商好⼀个监听端⼝。⾸先,双击打开桌⾯的burp进⼊主界⾯。1. 设置burp监听端⼝选择proxy(代理),进⼊之后选择options。我们看到在Proxy listeners处burp为我们默认添加了⼀个本地8080端⼝处的监听项。当然,你也可以⾃拟⼀个新的监听端⼝,在左侧点击Add即可设置2. 配置浏览器的代理项这⾥以系统⾃带的ie为例(chrome和firefox⽤户可以使⽤代理插件进⾏设置)使⽤win+R键打开命令窗⼝,输⼊进⼊ie设置。在连接选项卡中,选择局域⽹设置输⼊我们为burp指定的监听端⼝号:这时候,我们就建⽴了基本配置。3. 测试在burp中打开intercept is on.这表明我们已经成功的截获了来⾃浏览器的请求。点击forward就可以把这个请求发送给服务器,服务器会将结果返回给浏览器中,并将响应在burp中记录下来。Drop会将这个包丢掉,即不会发送到服务器端。步骤⼆熟悉comparer,repeater,intruder模块。1. compare模块compare模块可以将不同的数据包(⽆论是请求包还是响应包)进⾏⽐较。⾸先,我们添加⼀条请求到compare模块去。在已经截取的数据包上⾯右键,选择send to comparer这时候,我们会看到在comparer模块,上下两个界⾯中同时多出来了⼀条记录。使⽤同样的⽅法,我们在为comparer模块添加另外的⼀条记录。我们打算使⽤1和2进⾏对⽐,在两个视图中分别选择1和2,然后点击右下⾓的compare word(bytes是指⽂件按照字节流来进⾏⽐对)。为了更⼤化的展⽰出修改、删除、添加功能,特⽐较了差异较⼤的两条记录,具体如下:从图中我们可以看到,窗⼝标题提⽰了我们两个⽂件有多少处不同。左下⾓的图例告诉了我们右侧和左侧相⽐,哪些是添加的,哪些是修改的,哪些是删除的,⾮常直观。2. repeater模块有时候我们需要向服务器发送多次相同的请求来测试服务器的响应。这⾥,我们只需要将burp截取到的请求通过右键send to repeater就可以在repeater中进⾏操作了。进⼊到repeater之后,点击go按钮,右侧就会返回服务器的响应。Go的次数没有限制,点击多少次go,burp就会把当前的请求页向服务器发送多少次。使⽤repeater的⽬的是进⾏重放攻击测试,看服务器是否会对重放测试做出反应。3. intruder模块这个模块是burp⾮常强势的地⽅,也正是我们这节课中说到的暴⼒破解主要使⽤的模块。同样的,在已经截获的请求页上右键,选择send to intruder。进⼊intruder模块。我们会看到四个选项卡,分别是target,positions,payloads,optionsTarget主要是设置暴⼒破解访问的host地址和对应的端⼝号。Positions设置是选择我们要暴⼒破解的位置。在默认情况下,burp会⾃动将所有的变量都勾选上。实际操作中,我们往往是针对单⼀点,选择clear$,此时所有默认的爆破点都已消失。⽤⿏标选中需要暴⼒破解的变量的值。然后右侧选择"add" ,这样我们就添加了⼀个爆破点,这个爆破点的payload位置是在两个"$"之间的部分。Payloads设置是选择怎样的字典或者payload,是这个模块要做的事情。Payload type 下拉列表框为我们提供了常⽤的payload 类型,视情况选择即可。如果你有合适的字典,在选择了payload type为simple list后,接下来你就可以在payload options中选择你要加载的字典⽂件,点击load即可。字典爆破链接可见另⼀⽂章:有时候我们需要对payload进⾏⼆次处理,⽐如md5加密啊,base64加密,哈希加密之类的,burp当然也考虑到了这⼀点。在payloadprocessing中集成了⼀些常见的算法。点击add,在弹出的窗⼝中就可以根据需要选择了。Options中有关于其他细节的设置,⽐如攻击时使⽤的线程数,关于攻击的⼀些存储设置之类。这⾥就不再赘述。步骤三下⾯尝试对密码的爆破。已知hetian的密码是两位数字,取值在50-100之间。使⽤hetian登录,密码任意。完成表单后提交。这时候burp会截取我们的请求。注:先打开登录系统后,开启burp,最后登录。在该请求页上右键选择send to repeater。我们来进⾏重放测试。点击go,右侧返回服务器的响应。多次go之后发现,服务器返回的长度和内容都没有发⽣变化,都会提⽰sorry。也就是说,服务器对多次测试并没有加以限制,因此我们可以使⽤暴⼒破解了。为了再次验证,我们在登陆界⾯再次输⼊⼀个不同的密码。在我们将两次请求的响应使⽤comparer⽐对⼀下。(在proxy中选择⼦选项卡HTTP History,选择⽅法为post的两个历史记录,点击每⼀条post记录,下⽅会看到不同的post数据时,这应该就是我们的两次不同密码的请求记录,右键选择send to comparer(response))从图中我们可以发现,经过对两次不同的请求返回结果进⾏对⽐,burp为我们在左上⾓标出了1项不同,但都是体现在输⼊密码上,其余都相同。所以可以使⽤暴⼒破解。进⼊到intruder之后,先点击clear,然后选中我们刚才填写的pas字段值,点击add。这样,就确定了爆破点是pas位置。打开payload选项卡,payload type选择数字。选择数字之后,我们填写数字范围。因为是已经暗⽰了密码范围,所以我们选择50到100.顺序⽣成,每步加1。开始爆破这时候我们看到了攻击测试界⾯。我们重点关注payload和length,这⾥的length表⽰的是服务器的响应长度。从理论上来分析,登陆成功和登陆失败,返回的长度不同,这能⽅便我们找出正确密码。右下⾓的进度条显⽰了我们的进度。⼀段时间过后,我们测试结束。这时候在length上双击,可以对length排序。我们发现,在测试的50个payload中,payload为69的返回值不同与其他payload返回值。我们怀疑69就是答案。在payload为69的request上双击,进⼊后选择response。浏览response,直到发现:“you got it.”最终获取密码成功!答题注:千万不要对他⼈的⽹站进⾏测试。如若使⽤他⼈⽹站做测试,造成的⼀切后果⾃负。

2023年7月31日发(作者:)

使⽤burp进⾏暴⼒破解——合天⽹安实验室学习笔记实验链接通过该实验掌握burp的配置⽅法和相关模块的使⽤⽅法,对⼀个虚拟⽹站使⽤burp进⾏暴⼒破解来使⽹站建设者从攻击者的⾓度去分析和避免问题,以此加强⽹站安全。实验简介实验所属系列:web安全实验对象:本科/专科信息安全专业相关课程及专业:⽹络安全,计算机⽹络实验类别:实践实验类预备知识Burp的⼯作模式:在没有burp之前,客户端使⽤浏览器直接与服务器进⾏通信。有了burp之后,burp在客户端与服务器之间充当代理。这样,浏览器发送给服务器的请求就会被burp进⾏捕获,⽽burp和wireshark这种审计类⼯具相⽐,其强⼤之处在于不仅可以做审计⼯作,更可以对数据包进⾏修改并发送出去。暴⼒破解:⼀般使⽤暴⼒破解都有两种原因:对这个漏洞的测试,⼈是可以完成的,即可穷举。⼈可以完成,但是代价太⼤,或者太浪费时间。正是出于这样的问题,⼀些软件的出现帮助⼈完成了这些测试,这就是暴⼒破解的真正好处。在业界曾经有这样的⼀种看法,对于暴⼒破解的使⽤都不屑⼀顾,因为⼤家觉得技术含量太低。但是,从实际的情况来看,因为⽤户使⽤弱⼝令情况太普遍,导致很多漏洞使⽤暴⼒破解都可以轻松拿下。暴⼒破解,最有价值的地⽅是在对字典的构造上,这是⼀门技术,需要长期的经验积累。实验⽬的通过该实验掌握burp的配置⽅法和相关模块的使⽤⽅法,对⼀个虚拟⽹站使⽤burp进⾏暴⼒破解来使⽹站建设者从攻击者的⾓度去分析和避免问题,以此加强⽹站安全。在此郑重声明,本教程只做教学⽬的,严禁使⽤本教程对线上⽹站进⾏破坏攻击。实验环境服务器:windows xp sp3 ip地址:10.1.1.163测试者:windows xp sp3 ip地址随机实验步骤步骤⼀Burp是个⾮常强⼤的web分析⼯具。burp在浏览器和服务器之间充当了⼀个双向代理。这样,就可以把⽤户或者服务器通信过程中产⽣的数据包给截获下来,让专业⼈员去分析。本次实验,需要完成的任务有:配置burp和浏览器代理,使burp能够正常运⾏学会使⽤burp中的compare模块学会使⽤burp中的 repeat模块学会使⽤burp中的intruder模块配置burp和设置ie代理在预备知识中我们了解到,burp在浏览器(客户端)是以代理的⽅式存在。因此,如果想要我们发送的包被burp截断,就需要双⽅协商好⼀个监听端⼝。⾸先,双击打开桌⾯的burp进⼊主界⾯。1. 设置burp监听端⼝选择proxy(代理),进⼊之后选择options。我们看到在Proxy listeners处burp为我们默认添加了⼀个本地8080端⼝处的监听项。当然,你也可以⾃拟⼀个新的监听端⼝,在左侧点击Add即可设置2. 配置浏览器的代理项这⾥以系统⾃带的ie为例(chrome和firefox⽤户可以使⽤代理插件进⾏设置)使⽤win+R键打开命令窗⼝,输⼊进⼊ie设置。在连接选项卡中,选择局域⽹设置输⼊我们为burp指定的监听端⼝号:这时候,我们就建⽴了基本配置。3. 测试在burp中打开intercept is on.这表明我们已经成功的截获了来⾃浏览器的请求。点击forward就可以把这个请求发送给服务器,服务器会将结果返回给浏览器中,并将响应在burp中记录下来。Drop会将这个包丢掉,即不会发送到服务器端。步骤⼆熟悉comparer,repeater,intruder模块。1. compare模块compare模块可以将不同的数据包(⽆论是请求包还是响应包)进⾏⽐较。⾸先,我们添加⼀条请求到compare模块去。在已经截取的数据包上⾯右键,选择send to comparer这时候,我们会看到在comparer模块,上下两个界⾯中同时多出来了⼀条记录。使⽤同样的⽅法,我们在为comparer模块添加另外的⼀条记录。我们打算使⽤1和2进⾏对⽐,在两个视图中分别选择1和2,然后点击右下⾓的compare word(bytes是指⽂件按照字节流来进⾏⽐对)。为了更⼤化的展⽰出修改、删除、添加功能,特⽐较了差异较⼤的两条记录,具体如下:从图中我们可以看到,窗⼝标题提⽰了我们两个⽂件有多少处不同。左下⾓的图例告诉了我们右侧和左侧相⽐,哪些是添加的,哪些是修改的,哪些是删除的,⾮常直观。2. repeater模块有时候我们需要向服务器发送多次相同的请求来测试服务器的响应。这⾥,我们只需要将burp截取到的请求通过右键send to repeater就可以在repeater中进⾏操作了。进⼊到repeater之后,点击go按钮,右侧就会返回服务器的响应。Go的次数没有限制,点击多少次go,burp就会把当前的请求页向服务器发送多少次。使⽤repeater的⽬的是进⾏重放攻击测试,看服务器是否会对重放测试做出反应。3. intruder模块这个模块是burp⾮常强势的地⽅,也正是我们这节课中说到的暴⼒破解主要使⽤的模块。同样的,在已经截获的请求页上右键,选择send to intruder。进⼊intruder模块。我们会看到四个选项卡,分别是target,positions,payloads,optionsTarget主要是设置暴⼒破解访问的host地址和对应的端⼝号。Positions设置是选择我们要暴⼒破解的位置。在默认情况下,burp会⾃动将所有的变量都勾选上。实际操作中,我们往往是针对单⼀点,选择clear$,此时所有默认的爆破点都已消失。⽤⿏标选中需要暴⼒破解的变量的值。然后右侧选择"add" ,这样我们就添加了⼀个爆破点,这个爆破点的payload位置是在两个"$"之间的部分。Payloads设置是选择怎样的字典或者payload,是这个模块要做的事情。Payload type 下拉列表框为我们提供了常⽤的payload 类型,视情况选择即可。如果你有合适的字典,在选择了payload type为simple list后,接下来你就可以在payload options中选择你要加载的字典⽂件,点击load即可。字典爆破链接可见另⼀⽂章:有时候我们需要对payload进⾏⼆次处理,⽐如md5加密啊,base64加密,哈希加密之类的,burp当然也考虑到了这⼀点。在payloadprocessing中集成了⼀些常见的算法。点击add,在弹出的窗⼝中就可以根据需要选择了。Options中有关于其他细节的设置,⽐如攻击时使⽤的线程数,关于攻击的⼀些存储设置之类。这⾥就不再赘述。步骤三下⾯尝试对密码的爆破。已知hetian的密码是两位数字,取值在50-100之间。使⽤hetian登录,密码任意。完成表单后提交。这时候burp会截取我们的请求。注:先打开登录系统后,开启burp,最后登录。在该请求页上右键选择send to repeater。我们来进⾏重放测试。点击go,右侧返回服务器的响应。多次go之后发现,服务器返回的长度和内容都没有发⽣变化,都会提⽰sorry。也就是说,服务器对多次测试并没有加以限制,因此我们可以使⽤暴⼒破解了。为了再次验证,我们在登陆界⾯再次输⼊⼀个不同的密码。在我们将两次请求的响应使⽤comparer⽐对⼀下。(在proxy中选择⼦选项卡HTTP History,选择⽅法为post的两个历史记录,点击每⼀条post记录,下⽅会看到不同的post数据时,这应该就是我们的两次不同密码的请求记录,右键选择send to comparer(response))从图中我们可以发现,经过对两次不同的请求返回结果进⾏对⽐,burp为我们在左上⾓标出了1项不同,但都是体现在输⼊密码上,其余都相同。所以可以使⽤暴⼒破解。进⼊到intruder之后,先点击clear,然后选中我们刚才填写的pas字段值,点击add。这样,就确定了爆破点是pas位置。打开payload选项卡,payload type选择数字。选择数字之后,我们填写数字范围。因为是已经暗⽰了密码范围,所以我们选择50到100.顺序⽣成,每步加1。开始爆破这时候我们看到了攻击测试界⾯。我们重点关注payload和length,这⾥的length表⽰的是服务器的响应长度。从理论上来分析,登陆成功和登陆失败,返回的长度不同,这能⽅便我们找出正确密码。右下⾓的进度条显⽰了我们的进度。⼀段时间过后,我们测试结束。这时候在length上双击,可以对length排序。我们发现,在测试的50个payload中,payload为69的返回值不同与其他payload返回值。我们怀疑69就是答案。在payload为69的request上双击,进⼊后选择response。浏览response,直到发现:“you got it.”最终获取密码成功!答题注:千万不要对他⼈的⽹站进⾏测试。如若使⽤他⼈⽹站做测试,造成的⼀切后果⾃负。