XSS
CSRF
pikachu中,CSRF(跨站请求伪造)概述
Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。
可以理解为以被攻击者的身份发送请求给网站执行操作,攻击者需要诱导被攻击者访问藏有请求操作的网站,达到合法身份执行操作的目的。
第一题csrf(get)
根据pikachu靶场右上角提示进入随便一个用户的个人信息页
点击修改个人信息,填写,用burpsuite抓包
利用bp构造csrf
copy代码,文件后缀改为html。
一个简单的csrf网站做好了,修改里面的值即可进行相应操作。
这里把boy改为girl
用户本人修改的结果如下。
点开刚才弄的html文件,注意浏览器要一样。点击该网页中的submit。这时当作是用户点击了我们构造的csrf网站的链接。修改的结果如下。
修改成功。
post操作也是一样的。
RCE(远程命令执行)
exe(ping)
在windows系统,命令提示符(command prompt)中可以同时执行多条命令,&连接即可。
这里我们输入本机ip以及windows命令提示符中的一些其他命令。例如
127.0.0.1 & netstat -ano
后面的netstat -ano就被执行了。
exe(eval)
eval()函数将括号里的内容按照php代码处理
直接输入system(ls);
弹出一串字说我们喜欢的字符挺奇怪的。
ls换成ipconfig后就能看到ip配置信息了。
file inclusion
皮卡丘的概述:
文件包含,是一个功能。在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件。 比如 在PHP中,提供了:
include(),include_once()
require(),require_once()
这些文件包含函数,这些函数在代码设计中被经常使用到。
大多数情况下,文件包含函数中包含的代码文件是固定的,因此也不会出现安全问题。 但是,有些时候,文件包含的代码文件被写成了一个变量,且这个变量可以由前端用户传进来,这种情况下,如果没有做足够的安全考虑,则可能会引发文件包含漏洞。 攻击着会指定一个“意想不到”的文件让包含函数去执行,从而造成恶意操作。
local
随便选一个提交,include(“文件路径/文件名”)为include()函数的用法,实现一个php文件中调用另一个php文件的代码的目的。
修改filename的值为
../../../../../../../../../../../../Windows/System32/drivers/etc/hosts
../为返回至上一个目录
remote
phpstudy中找到网站对应的php版本开启远程包含
根据概述提示可以直接url地址远程访问
将filename的值改为http://127.0.0.1/pikachu-master/test/phpinfo.txt
访问成功
unsafe filedownload
新标签页打开下载链接查看浏览器提交的请求是什么,或者bp抓包
根据概述的描述,尝试修改filename的值
这里可以扫描网站目录,然后再选择下载路径。方便起见直接去看我们自己的pikachu目录下面有什么,然后修改filename的值为../../../index.php
../返回到上一级目录
精心设计后我们发送的请求变成到pikachu目录下下载index.php文件。
下载成功。