pikachu靶场-CSRF

xss和csrf区别:

CSRF是借用户的权限完成攻击,攻击者并没有拿到用户的权限,而XSS是直接盗取到了用户的权限,然后实施破坏。

PS:

由于之前将php5升级到php7,导致靶场环境出现以下问题

 原因是在php7中,MYSQL_ASSOC不再是一个常量,需要将 MYSQL_ASSOC改为MYSQLI_ASSOC,意思是mysqli的方式提取数组,而不再是mysql 。(原因:mysql_fetch_arrayhan函数转为mysqli_fetch_array,参数没有修改)。

 

更多升级造成的问题可以访问 <https://www.cnblogs.com/imustun/p/9828591.html>

 

 

.CSRF(get)

查看题目登录后进行信息修改。

将性别改为1,抓包看看。

在url中包含了get请求信息,

作出修改后,访问试试。

信息被修改了。  

乙.CRSF(post)

利用方法和xss类似

 

需要注意的是由于无法通过url直接传递参数,可以伪造一个提交页面,然后使用户访问该页面,以用户权限去提交我们构造的信息。

这里可以使用bp来生成这个页面

 

 随后可以让用户点击这个页面来提交我们的信息。或者建网站,让用户访问网站页面,进而提交请求。

这里访问页面会有一个提交按钮,可以美化页面,诱导用户提交。或者添加js脚本,自动提交

丙.CRSF(token)

修改信息提交参数

抓包看看

以get方式提交的信息,中间包含了token值。

老方法,抓包看看token值有没有规律。

向服务器请求网页后,查看服务器响应包

 

服务器返回了一个随机的token值,然后客户端提交的信息中带有一个token值,和请求页面时服务器回包中的值一样。

想要伪造请求必须带上相关信息。

原文地址:https://www.cnblogs.com/pykiller/p/12671376.html