[NOTE] Pikachu靶场练习笔记

文章目录

  • [NOTE] Pikachu靶场练习笔记
    • 前言
    • 暴力破解
      • 基于表单的暴力破解
      • 验证码绕过(on server)
      • 验证码绕过(on client)
      • token防爆破
        • Burp Suite
          • 第一种方法
          • 第二种方法
          • 两种方法比较
        • 自写脚本
    • Cross Site Scripting
      • 概述
      • 攻击者端
        • cookie搜集
        • 信息钓鱼
        • 键盘记录
      • 反射型XSS(GET)
      • 反射型XSS(POST)
      • 存储型XSS
      • DOM型XSS
      • DOM型XSS-X
      • XSS之盲打
      • XSS之过滤
      • XSS之htmlspecialchars
      • XSS之href输出
      • XSS之JS输出
      • 补充:其他一些钓鱼payload
    • CSRF
      • 概述
      • CSRF(GET)
      • CSRF(POST)
      • CSRF Token
    • SQL注入
      • 概述
      • 数字型注入(POST)
      • 字符型注入(GET)
      • 搜索型注入
      • XX型注入
      • “insert/update”注入
      • “delete”注入
      • “http header”注入
      • 报错盲注
      • 时间盲注
      • 宽字节注入
    • RCE
      • 概述
      • exec "ping"
      • exec "evel"
    • File Inclusion
      • 概述
      • local
      • remote
    • Unsafe Filedownload
      • 概述
      • 练习
    • Unsafe Fileupload
      • 概述
      • client check
      • MIME type
      • getimagesize()
    • Over Permission
      • 概述
      • 水平越权
      • 垂直越权
    • ../../
      • 概述
      • 练习
    • 敏感信息泄露
      • 概述
      • I can see your ABC
    • PHP反序列化
      • 概述
      • 练习
    • XXE
      • 概述
      • 练习
    • 不安全的URL重定向
      • 概述
      • 练习
    • SSRF
      • 概述
      • curl
      • file_get_content
    • 总结

前言

是针对Pikachu靶场的联系笔记
是在搞完WebGoat之后
想着再找一个靶场玩玩

环境
攻击者:Kali Linux | 10.10.10.1
靶机:Ubuntu | 10.10.10.2 | PHP 5.5.38+Apache 2.4.39+MySQL 8.0.16(小皮面板)

暴力破解

从来没有哪个时代的黑客像今天一样热衷于猜解密码——奥斯特洛夫斯基

基于表单的暴力破解

直接爆破就完事了

一个启示:
最好能够根据网站本身,添加一些特殊字段
如网站名及其变式啥的,作为payload之一
(pikachu/pikachu)

验证码绕过(on server)

呃,倒是可以OCR

看眼提示:

这个验证码好像一直有效哎!

看看,发现只要用户没有请求新的验证码,上一个验证码就会一直有效
因此可以直接爆破
前提是发送请求的验证码要与页面显示的一致(保证没有请求新的验证码)


观察下验证码的元素:

前端是请求时加载一次,之后只有在点击时才重新刷新
刷新的参数好像是时间戳,但是传入固定的一个时间戳也会刷出不同的验证码

验证码绕过(on client)

验证码明文印在页面上???

哦没事了,验证码只是前端验证
验证码通过后的包直接抓上来重放就完事了

比上面那题还离谱

token防爆破

表单多了个隐藏field:
<input type="hidden" name="token" value="526966173722ea46a5804573073">
虽然是token,但是直接写在HTML上了

爆破方向:

  • Burp Suite——定义宏操作每次请求更新token
  • 自写脚本

Burp Suite

先写下使用Burp Suite的方法
日后考虑将这里搬去“Burp Suite进阶使用”之类的学习笔记

有两种做法

第一种方法

来自于这里

设置模式为“Pitchfork”(草叉模式),设定如下变量:

可以看到,用户名不作爆破

从响应包中抓取token的匹配值:

然后第二个payload,选择类型为“Recursive grep”,再选择刚提取的token变量:

然后注意爆破线程只能设置为1,因为要使用到提取的token值是单次传递的:

由于没有对用户名字段进行爆破,所以最后爆破结果仅针对admin:

另外试了试Cluster bomb对三个变量进行爆破,发现不太奏效
前面的请求中用户名和密码都有,但是token那块是空的

第二种方法

来自于g0tmi1k的文章

首先添加会话处理规则(Session Handling Rules):
Project options/Options -> Sessions -> Session Handling Rules -> Add

这里定义的规则可以让Burp Suite在每次作出请求前
都检视下是否有对应的适用规则
defined scope for particular tools, URLs or parameters

输入规则描述,并选择规则行为为“Run a macro”(执行宏,因为要替换token):
Details -> Rule Action -> Add -> Run a macro

这种规则会通过运行宏或发送一连串定义好的请求
并基于宏的运行结果或请求的返回,自定义地更新参数或cookies

选择新建一个宏:
Add

然后选择想要运行宏的请求包:

这里可以过滤出想要的请求包
要注意的是,记录宏会要求使用正在代理的浏览器,因此此时应该关闭拦截

然后进一步编辑这个宏:
Macro description处可以填入这个宏的说明信息
点击Configure item可以对某一选中的请求包进行宏操作编辑

可以对宏如何操作该请求包的cookie和参数等进行编辑
由于我们需要从每次响应中获取token
因此应该自定义一个响应参数:
Custom parameter locations in response->Add

之后就是从请求包的响应中定义/提取我们要的参数的匹配模式/匹配位置:
Parameter name中填入这个参数的参数名(任意填,可以是“fish”,不和要替换的请求参数匹配?
【注意】这个参数名应当和我们想要替换的请求参数名相同,这样后续才能成功匹配上要替换/操作的请求参数
Start after expression/End at delimiter中填入参数值的左右界限,建议自己从响应中拖拽选中,这样Burp Suite会自动填入这两个字段

之后一路OK,回到会话处理规则的宏操作定义处

  • 这样我们就定义了一个会话处理规则
  • 这个规则会执行一个宏操作
  • 这个宏操作会对我们选定的请求的响应中提取一个token值
  • 并把这个值存在自定义名字的参数中

最后勾选“允许URL不匹配”:
勾选Tolerate URL mismatch when matching parameters (use for URL-agnostic CSRF tokens)

最上面选中的是我们刚定义好的宏操作,作用是提取token的值
下面一个箭头指向,才是应用把token值替换到我们每次请求的token是把所有参数(即username、password、token甚至加上submit)都作指定的操作——更新/替换
再下面一个箭头指向,应该是起更新cookie的作用

之后选择该规则的监视目标以及使用范围:
Scope->Tools Scope->仅勾选Intruder(因为我们只在爆破里用)
URL Scope->Use suite scope [defined in Target tab](选择使用Burp Suite的监视窗,但理论上也能Use custom scope,指定到Pikachu指定的页面就

[NOTE] Pikachu靶场练习笔记相关推荐

  1. [NOTE] XVWA靶场练习笔记

    [NOTE] XVWA靶场练习笔记 文章目录 [NOTE] XVWA靶场练习笔记 前言 SQL Injection – Error Based 选择框 搜索栏 SQL Injection – Blin ...

  2. [NOTE] DSVW靶场练习笔记

    [NOTE] DSVW靶场练习笔记 文章目录 [NOTE] DSVW靶场练习笔记 前言 Blind SQL Injection (boolean) Blind SQL Injection (time) ...

  3. Pikachu靶场通关笔记

    目录 Burte Force(暴力破解) 基于表单的暴力破解 验证码绕过(on server) 验证码绕过(on client) token防暴破 Cross-Site Scripting (XSS) ...

  4. Pikachu靶场通关笔记--Sql Inject(SQL注入)

    在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库注入漏洞.一个严重的SQL注入漏洞,可能会直接导致一家公司破产! SQL注入漏洞主要形成的原 ...

  5. [NOTE] Web For Pentester靶场练习笔记

    [NOTE] Web For Pentester靶场练习笔记 文章目录 [NOTE] Web For Pentester靶场练习笔记 前言 Web基础 PHP的session管理 HTTP认证 Web ...

  6. 网络安全初学者工具安装:Kali,Windows xp虚拟机,pikachu靶场,burpsuite安装配置,phpstudy安装(学习笔记)

             摘要 在互联网发展的时代背景下,网络安全成为了越来越不可忽视的重要领域,为此,各国都采取了维护网络安全的举措,对于网络安全人才的需求不断增大,我国作为世界上最多使用计算机人口的国家, ...

  7. Pikachu靶场全关攻略(超详细!)

    一.靶场搭建 准备工具 phpstudy **pikachu靶场下载地址:**https://github.com/zhuifengshaonianhanlu/pikachu 搭建过程 将靶场文件夹放 ...

  8. Pikachu靶场通关记录(详细)

    Pikachu靶场通关记录 0x01 靶场介绍 Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞. 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么 ...

  9. pikachu靶场通关技巧详解

    目录 一.暴力破解 二.Cross-Site Scripting(XSS跨站脚本攻击) 三.CSRF(跨站请求伪造) 四.SQL-Inject 五.RCE 六.File Inclusion(文件包含漏 ...

最新文章

  1. 机器人科迪的天空_机器人科迪的天空游戏评测:我要跳的更高
  2. Java8中的流操作-基本使用性能测试
  3. USACO crypt1
  4. 《计算机网络自顶向下》之重头戏迪杰斯特拉算法
  5. C++ primer 11章关联容器
  6. 开创先河!《王者荣耀国际版》成为东南亚运动会正式比赛项目
  7. Silverlight 中的 CoreCLR
  8. 流水线的几个指标总结
  9. Linux KVM构建及管理
  10. windows 打印机管理机制(任务后台等待机制)
  11. 用yolo-v3检测算法检测图片中的apple和damaged_apple
  12. redis IO模型的演进
  13. 项目管理必备工具——甘特图
  14. 【LeetCode】77 组合 (C++)
  15. PS新手如何快速抠白色背景的玻璃瓶
  16. 逆袭!Xbox One销量超PS4成英国游戏主机销售冠军
  17. Windows下搭建免费个人博客
  18. RED5流媒体服务器作为客户端转发流至另一个RED5服务器
  19. 利用githubpages创建你的个人博客
  20. 雷军谈人生三段低谷:站店卖货、泡吧泡论坛、错失互联网第一波浪潮!

热门文章

  1. 办理icp许可证对经营范围还有要求吗
  2. Please verify you invoked Maven from the correct directory错误解决
  3. Docer实现Django Uwsgi部署
  4. 【Android -- 架构】MVP 模式
  5. 微型计算机外部设备接口,第五章 微型计算机输入输出接口
  6. Composer 简介和基本用法
  7. jquery.qrcode.js生成二维码
  8. C#中取得日期的英文缩写
  9. Hinton论文系列-Reducing the dimensionality of data with neural networks
  10. 射影几何----共线四点保交比的三种射影变换类型的几何表示