burpsuite csrf攻击_CSRF攻击的BurpSuite实战

今天做的是CSRF越权攻击,原理是通过在自己网站或者目标网站,通过模拟发包,替客户端发送请求。

环境配置

考虑其危害性,虽然不是很大,但是考虑到安全问题,所以本次演示需自己搭建实验环境,主要内容是用PHPstudy在本地搭建一个本地网站。

下载并安装PHPstudy

寻找CSRF漏洞

测试网站域名www.incake.net

还是老步骤,注册,点击个人中心。

然后进入“发票管理”页面:

此时,发票信息页面内容为空:

点击添加发票信息并打开BurpSuite抓包

按CTRL+R或者单击右键点击sendto repeater

在Repeater中我们发现这个数据包是存在CSRF漏洞的,不论我们点击GO重放这个数据包几次,都会在发票页中添加新的发票。

制作POC

因此我们可以在这个数据包页面上单击右键-Engagementtools-Generate CSRF POC

在新弹出的页面中,BurpSuite自动生成了CSRF代码

将此段代码复制并另存为CSRF.html文件,存放在之前用phpstudy搭建好的本地网站中

然后打开本地浏览器

访问http://127.0.0.1/CSRF.html

测试漏洞

点击Submitrequest后,发现失败,失败原因是由于BurpSuite对POC的参数进行了二次编码,解决方法是根据原始数据包的参数方案对POC下的参数进行重新配置,并最终摸索出每个参数的作用:

最终更改方案如下:

点击按钮后,发现代码运行成功:

总结

在此次的CSRF实验中,虽然成功运行了,但是暴露出很多问题。

我们必须自己搭建一个网站发送问题链接后才能触发;

我们必须让用户点击那个按钮才能触发那个CSRF漏洞。

然而,实际情况是——只有傻子才能蠢到那种地步,按照你的指示一通点。

所以,针对以上两种情况,我们对此次CSRF攻击进行优化。

问题一的解决方案(拼点子)

问题一的症结所在在于,我们的请求是post类型

POST /webnew/SettingHandler.ashx HTTP/1.1

这不得不说到POST与GET请求类型的区别

具体详情可以参考:

http://naotu.baidu.com/file/162583aa24d2d445e23347f6c764a211?token=39eb7f9dfd0129e1

get和post是HTTP与服务器交互的方式,

说到方式,其实总共有四种:put,delete,post,get。

他们的作用分别是对服务器资源的增,删,改,查。

所以,get是获取数据,post是修改数据。

那POST请求与GET请求的区别和此次CSRF攻击有什么联系吗?

答案是:有。

因为GET是需要客户去向服务器去请求数据,别人不能代替客户请求数据。

而POST就不一样了,谁都可以POST,只要在同一个浏览器下,Cookie没有过期的情况下,谁都可以POST一个请求。

要完成一次CSRF攻击,受害者必须依次完成两个步骤:

1、登录受信任网站A,并在本地生成Cookie。

2、在不登出A的情况下,访问危险网站B。

看到这里,你也许会说:“如果我不满足以上两个条件中的一个,我就不会受到CSRF的攻击”。是的,确实如此,但你不能保证以下情况不会发生:

1、你不能保证你登录了一个网站后,不再打开一个tab页面并访问另外的网站。

2、你不能保证你关闭浏览器了后,你本地的Cookie立刻过期,你上次的会话已经结束。(事实上,关闭浏览器不能结束一个会话,但大多数人都会错误的认为关闭浏览器就等于退出登录/结束会话了......)

3、所谓的攻击网站,可能是一个存在其他漏洞的可信任的经常被人访问的网站。

几种常见的攻击类型

GET类型的CSRF

这种类型的CSRF一般是由于程序员安全意识不强造成的。GET类型的CSRF利用非常简单,只需要一个HTTP请求,所以,一般会这样利用:

(在浏览器下,img标签后面的链接会被浏览器无条件加载,从而达到自动发包的作用。)

POST类型的CSRF

这种类型的CSRF危害没有GET型的大,利用起来通常使用的是一个自动提交的表单,如:

访问该页面后,表单会自动提交,相当于模拟用户完成了一次POST操作。

理论说完了,直接说操作了,对于问题一这种情况,我们可以将我们的请求转化为POST,将请求提交之后看服务器能否依旧响应请求。

通过尝试,在将POST请求转换为POST请求之后,我们发现此网站中的SettingHandler.ashx文件依旧相应了我们的请求,并且成功添加了发票。

那么我们只需要将转化后的GET请求发送给目标,那么他的个人信息就会别成功修改

http://www.incake.net/webnew/SettingHandler.ashx?type=_setinvoice&doing=_add&hType=%E4%B8%AA%E4%BA%BA&hName=&paycode=&content=%E8%9B%8B%E7%B3%95

这样用户如果不仔细看url的话,他是辨别不出来这个链接有问题的。

问题二的解决方案(百发百中)

BurpSuite生成的POC是做成一个按钮,点击按钮之后才会触发POST请求,那我们用脚本直接触发不就可以了吗?

具体怎么做呢?

document.px.submit();

更改完成之后刷新,测试成功:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/554383.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机优酷下载视频怎么保存到手机

有时大家必须把一些视频文件格式下载出来看,防止在沒有总流量的情况下来收看,例如远途消磨时光,就可以收看下载好的视頻是十分非常好的挑选,那麼下边大家讨论一下怎样下载视頻到手机呢? 手机优酷下载视频怎么保存到手机 01、 最…

qml 鼠标点击_QML ListView在鼠标点击时不会响应

大家好,我已经尝试了几件事,但我不能让我的ListView响应鼠标点击。这是我的ListView代码:ListView {id: listview1x: 0y: 82// width: 574// height: 967width: window.widthheight: window.heightvisible: truekeyNavigationWraps: falsebou…

QQ浏览器不能播放视频怎么办?要如何解决

有很多用户在使用浏览器的时候会发现网页不能播放视频,那么这是什么情况呢,要如何解决呢,今天小编就会与大家一起来分享一个方法,让用户可以更好的解决这个问题,用户遇到这个问题的时候可以先看看自己的网络有没有问题…

日志中出现乱码_合宙Luat | 乱码搞得一团糟?开源神器帮你轻松修复

鎰熸仼鐩搁亣缇庡ソ鐨勬椂鍏変笌澶у鐩镐即2021锛屾柊骞村揩涔愶紒相信大家在日常生活中,都见过类似上面的字符串。这些看起来不明所以的内容,通常被称作乱码。那么乱码是如何产生的,并且如何修复呢?我们接下来将一步步讲解。1你…

QQ浏览器如何修改截屏快捷键?QQ浏览器修改截屏快捷键的方法

qq浏览器是一款非常好用的搜索服务软件,在日常生活中如果碰到有什么不懂的内容,都可以使用这款软件解决,使用非常的方便,随时都可以满足用户的搜索需求,用户在使用这款软件的时候可以使用到非常多的功能,随…

轮播高度_Qt编写自定义控件24-图片轮播控件

一、前言上一篇文章写的广告轮播控件,采用的传统widget堆积设置样式表做的,这次必须要用到更高级的QPainter来绘制了,这个才是最高效的办法,本控件参考雨田哥的轮播控件,经过大规模的改造而成,相比于原来的…

怎样更换UC浏览器的字体?更换UC浏览器的字体的方法

uc浏览器是一个非常好用的搜索服务软件,需要使用浏览器的用户可以使用手机在这里操作,用户在使用一个软件的时候,可以将这个浏览器设置成自己喜欢的字体,这样使用起来就会更加的方便,在阅读的时候,使用顺眼…

自定义按键_王者荣耀:自定义按键让你的百里守约百发百中

在王者荣耀中,有很多输出炸裂的射手,但是他们普遍手不够长!但是其中就有一位,他不仅手很长,而且打得还很疼!他就是刺客兼射手的——百里守约百里守约,他不是射手,是刺客!…

手机QQ浏览器如何同时下载多个文件

qq浏览器是一个非常多用户都喜欢使用的搜索软件,这款软件可以为用户提供非常多便捷的搜索服务,在使用这款软件的时候,很多用户会使用这款软件下载自己需要的文件,那么在使用这款软件的时候,要如何同时下载多个文件进行…

生成特征_使用gplearn自定义特征自动生成模块

背景:数据科学领域中,数据一直都是主要驱动力,特征工程作为其中重要一环,成为无论是kaggle类的数据竞赛,还是工业界应用中关注的重点。特征工程中有重要的一个环节叫做特征融合,好的特征融合能帮助构造当前…

腾讯视频电脑版下载_怎么样下载腾讯视频

软件是否好用,还得大家下载腾讯视频安装才知道。本文分享腾讯视频电脑版下载_怎么样下载腾讯视频。腾讯视频播放器不管是在界面设计、还是在功能操作使用、启动播放速度、视频内容数量、画面品质等方面均得到了用户的高度认可,是目前用户量最大的播放器软…

python数字对应车站_python爬虫查询车站信息

#车站信息查询import requests#1.获得url(存取车站信息的url)并读取,根据获得信息的特点去掉无用的信息并转换存储到列表中url"https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version1.9090"txtrequests.get(url).text#pri…

优酷视频如何进行连续播放?

优酷视频如何进行连续播放? 您可按下列方式打开和关掉持续播发: 移动端:开启优酷app-左上方【设定】-开启或关掉【持续播发】按键就可以。 pc端:开启优酷pc客户端-点一下左上方【设定】-启用或不启用【自始至终持续播发】就可以…

yaw公式_坐标系和yaw, pitch, roll等基础概念

坐标系右手坐标系:把右手拇指食指中指伸直并正交,拇指X,食指Y,中指Z。一般无特殊说明,都是右手坐标系。右手坐标系的旋转正方向:从轴的正方向看向原点,逆时针方向即是旋转正向。或者&#xff0c…

腾讯视频下载的视频怎么剪辑_怎样卸载腾讯视频

腾讯视频影音是一款界面轻松友好,功能全面完善,方便好用,绿色安全,完全免费的、专注视频播放的客户端软件,您可运行腾讯视频影音,在线享受腾讯视频网站内全部免费高清正版视频。腾讯视频可以在线享受丰富多…

迈普路由器访问控制列表配置命令_如何选购企业路由器?选购企业路由器需注意什么...

3、企业自身的需求选择路由器时,首先考虑的是企业自身的需求,主要表现在下面9个原则:实用性原则。采用成熟的、经实践证明其实用性的技术。这能满足现行业务的管理,又能适应3~5年内业务发展的要求。可靠性原则。设计详细的故障处理…

腾讯视频网页下载_腾讯视频怎么下载视频

本文给大家整理了腾讯视频网页下载_腾讯视频怎么下载视频方面的内容。腾讯视频独播剧质量还是可以的,比较给力的是腾讯视频大量买入了老剧的版权,不乏一些比较经典的港剧,还把这些老剧修复了。腾讯视频播放器是一款支持多种音视频格式的主流播…

bazel 链接_bazel-链接第三方动态库,静态库。

demo4示例 链接第三方动态库,静态库。使用cc_import链接外部库。原理是通过cc_import规则导入第三方库,然后cc_binary再依赖cc_import规则的target,也即依赖第三方库。demo4目录树├── link│ ├── BUILD│ ├── include│…

腾讯视频下载后为什么还需联网看_腾讯视频如何下载离线视频

今天播放器家园网分享一下腾讯视频下载后为什么还需联网看_腾讯视频如何下载离线视频,希望可以帮助大家。腾讯视频有很多小功能是其他播放器没有的,大家可以下载后慢慢探索一下,小编非常喜欢的一个功能就是看电视剧的时候可以选择只看某个演员…

2台服务器负载均衡后synchronized_一篇有趣的负载均衡算法实现

负载平衡(Load balancing)是一种在多个计算机(网络、CPU、磁盘)之间均匀分配资源,以提高资源利用的技术。使用负载均衡可以最大化服务吞吐量,可能最小化响应时间,同时由于使用负载均衡时,会使用多个服务器节点代单点服务&#xff…