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值,和请求页面时服务器回包中的值一样。
想要伪造请求必须带上相关信息。