CSRF漏洞攻击原理以及防御方案

这几天很忙,好久没发好文章了,Onls本就只不过1个网站安全业余,业务也并不是网站安全有关。过去的好文章也更好似运用比较简单安全漏洞的“即兴表演盘玩”,越来越多的是偏重挑战性,给大伙儿提升点自学的生活乐趣,看了好文章即便仅还有一个人感觉“哦?原本还能这么玩!”那么我觉得同样是有意义的。好了话不多说说,咱们着手。

写此篇文章是见到@MAX丶堂哥的这篇[原创文章]各大SCY中的CSRF方法,我认为针对CSRF,堂哥此篇文章讲得很清楚了,包含基本原理和攻击防御,另外还有一个自个检验京东商场客户订单处CSRF安全漏洞的实例,可是针对"真·新手"而言可能并不是非常舒适。在深有体会这一点儿上,Onls做为1个技术水平渣可能更懂你们的(白:好,我早就知道到底什么是CSRF了,可是究竟现实渗透中我该如何使用呢?),因此我随手找了一个网站当内容素材来做好此篇文章。有关于基本原理就不转述了,提议白帽子们先看一看堂哥那文章内容,再将我的作为一回具体的实战演练全过程介绍.

它是个互联网理财项目投资借款app平台,咱们注册新账号登入观查一下下:

针对CSRF的现实运用我還是得先做个比较简单的详细说明,从它的姓名“跨站post请求篡改”不难理解,在大部分具体情况下的运用不外乎2个方面:“跨站”和“篡改”,实际上“站”你们的能够比较简单了解为“域”或“网站域名”的含意,简单而言就是说“浏览某一网站域名(app平台)却被该网站域名下的恶意代码运用你的个人身份cookie,让另外一个网站域名的网站服务器实行操作”,通常情况下,让总体目标客户浏览1个感到陌生网站就不可或缺的要牵涉到一点儿“社工”。因此现实运用时要取得成功不可或缺的2个我就汇总为:

1.被篡改个人身份的总体目标曾在该电脑浏览器上浏览过存有CSRF网站,且Cookie暂未失效

2.总体目标被引诱在该电脑浏览器上浏览了咱们摆放了恶意代码的网站域名(app平台)

咱们发觉新账号默认设置会特别关注1个叫“某某陈家湾的账号”,人脉圈能见到这些名叫“某某陈家湾”的客户的信息公告信息内容,而且在app平台答疑解惑区能发觉他的回应,id号后边还有了V,发布的信息内容也全部都是公司员工视角。看起来个人身份不“一般”。咱们就以他为实战演练“受害”总体目标,着手制订咱们在该网站检测CSRF所需达到的总体目标:在“某某陈家湾”不知道的具体情况下,运用CSRF安全漏洞篡改他的post请求推送1条信息公告信息内容。

那麼通过观查app平台后,我的构思是:在app平台询问答疑解惑区发布1条询问难题,将我构建了恶意代码的网站域名贴好,另附“我还在你们的官网注册的个人隐私信息内容,为何被发布在了这些app平台上?http://xxxx.xx,你们的这么看待个人信息安全?”(总结我以前说的实战演练要取得成功的两个务必,1.另一方管理人员在见到,并提前准备回应我这一条“问题”的情况下,一定是早就登入了这些app平台了(考虑框架1),2.见到我这具备误导性的文本时,非常容易会点进来一看究竟(考虑2))

敢想敢干,咱们在发布信息内容的地方用burpsuite做好抓包:

针对CSRF,burpsuite有一个小功能模块:对于这些包“鼠标右键”->"Engagementtools"->"GenerateCSRFPoC":

在这里会立即构建1个PoC,可是在现实渗透中毫无疑问是不可以立即应用这些的,咱们得稍稍改建,因为在这里是POST传送,咱们构建的源代码为:

这样的话这只不过CSRF运用源代码,现实前端开发网页代码你能够自个按须要写,或是立即在body里写几句“系统升级中,暂无法打开..”来不造成猜疑。

随后以便能在总体目标浏览咱们的恶意链接以后短时间内得到信息,我将CSRF中的JavaScript源代码放入XSSapp平台中构造1个项目,以便方便立即将源代码添加打Cookie的源代码后边(在这里只不过以便运用XSSapp平台的163邮箱、短信服务功能模块,顺便还能得到总体目标的lP、精准定位):

这么就只须要把js外部链接添加前端开发源代码里就可以了,检测第一波,取得成功收件.

分享: