CSRF(get)实验演示

我们看一下csrf(get)栏目,登录一下,lucy,123456

postgre 修改服务器启动端口 postcrossing改地址_php

这个时候,我们会看到个人信息,我们修改住址,改到武汉

postgre 修改服务器启动端口 postcrossing改地址_csrf_02

这个地址就改掉了,这个是敏感信息的修改,我们在后台看一下BP抓的包

postgre 修改服务器启动端口 postcrossing改地址_php_03

我们把get请求复制一下,到编辑器里面来

GET /pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=12345678922&add=wuhan&email=lucy%40pikachu.com&submit=submit

这个get请求实际上是向后台发送了参数,我们在提交的参数里面,并没有看到csrftoken,后台应该是没有做防csrf的措施的,同时这个也是通过get请求提交的

我们把地址补全

http://192.168.42.236/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=12345678922&add=shanxi&email=lucy%40pikachu.com&submit=submit

这个就是完整的url,攻击者伪造的链接,我们可以把这个链接发送给lucy,lucy目前住址是武汉,也就是说,lucy登录的购物网站,在这个购物网站上面浏览商品,也就是说,带有登录态的,这个时候,它释放攻击者的聊天信息,它把这个聊天信息去访问了一下

postgre 修改服务器启动端口 postcrossing改地址_postgre 修改服务器启动端口_04

访问完之后,实际上在它敲下回车键的霎那,以她当前登录的登录态,向我们的后台发送了一个请求,这个请求,带有地址的结果,就是山西,实际上,这样的个人信息,就被修改掉了

这个实际上就是csrf攻击的演示,这个场景里面,我们看一下它提交的请求,所有的方式都是通过get方式提交的,所以这叫get型的csrf,这种情况是比较好利用的,我们只要伪造出这个链接,把对应的参数改成我们想要的参数,发送给带登录态的攻击者,它只要点击,这个请求就完成了,攻击也就完成了

我们换到csrf(post),登录之后,同样的会去改自己的信息

postgre 修改服务器启动端口 postcrossing改地址_web安全_05

我们看到这个请求是通过post提交的,所有的参数是在里面的请求体里面去传输的,我们无法通过url去伪造这个请求,这个利用方法跟我们之前xss的利用方法是一样的,去布置一个站点,然后在站点上面做一个表单,让lucy去点我们恶意站点的表单url,通过这个表单的url,去向存在csrf漏洞的页面,去提交post请求