【Klee-CTF】 Pikachu 漏洞练习
2021-5-27
| 2023-3-27
0  |  Read Time 0 min
type
status
date
slug
summary
tags
category
icon
password
此文章为 小可莉 (KellyWong) 代发

准备资料

暴力破解

基于表单的破解

使用 burpsuite ,一般用户名使用admin,密码可以通过burpsuite破解
notion image
首先输入 admin admin 构造一个请求
notion image
notion image
notion image
清除一下无关参数,只保留 password
回到burpsuite,发现有一个payload的长度明显有点问题
notion image
输入测试,诶成了
notion image

验证码绕过 (on server)

对网络请求,提取出关键,发现当且仅当访问 http://172.16.40.2/pikachu/inc/showvcode.php 时,验证码才会发生改变,连续curl以下内容时,验证码是始终保持有效的
接下来的操作步骤和上面一致。

反射型xss(get)/ 存储型xss

在message内写入<script>alert(1)</script>
notion image

DOM 型 xss/DOM 型 xss-x

  1. 在框内输入 javascript:alert(1) ,点击链接触发
notion image
  1. 在本页面不做任何操作就触发
尝试:
  • ' ></a><script>alert(1)</script><a> 结果看页面是有了,但是没法弹出来
  • 'onmousemove="alert(1)" 在链接上移动触发
notion image

CSRF(get)/CSRF(post)

该链接修改信息参数都放在url上,所以要修改可以直接从url下手
可修改 sex,phonenum,add等参数,并通过ajax无感知地修改用户的数据。不行就整个链接嘛,或者window.open
直接javascript,
post同理,可以用form构造
网站源码?拿来吧你,随便找个html套上然后改一下这个action为目标页面就可

搜索型注入

输入 a' or 1=1 # 即可匹配所有用户, %% 也行,%是通配符
notion image

基于 boolian 的盲注

当你已经知道了数据库中存在一个为kobe的用户,这里相当于一个判断语句只能给你返回是或否,注入可以利用其判断语句+判断字符来判断其完整字符串。
比如此处输入 kobe,可以正常地返回其信息
而输入 kobe' and 1=1# 也可以, kobe' and 1=2# 就不行了
但其他 MySQL 语句还是可以执行的嘛!不知道其他信息,靠判断猜!
比如说,MySQL里面有select, substr, ascii等语句,可以通过逐字符判断来判断其数据库名

基于时间的盲注

原理其实和上面差不多,也是利用信息来判断信息,只不过这里利用的是睡眠时间,使用判断条件+sleep(x),满足条件的时候睡眠x秒
1' or sleep(3)# 来测试,sleep()可用
比如说我们在数据库中使用 select if (database()='pikachu', sleep(5), 1) ,使用了五秒,可以判断当前数据库名称为 pikachu

exec "ping"

笑死,他的docker上没有ping,但是其他命令可以执行
;whoami;ls;pwd ,是没有对输入ip进行过滤
notion image

File Inclusion(remote)

我这里没开 allow_url_include,所以就不演示了,但远程可以构造一个txt文件,里面写
notion image

Unsafe Filedownload

查看链接格式
容易得知这个filename可以利用,修改为execdownload.php,404,应该图片被放在子目录了,那就修改为../execdownload.php,成功获取
notion image

Unsafe Fileupload→client check

F12 直接把这个去掉,好像不行
notion image
用burpsuite拦截响应请求把这个给去掉,重新上传,getdaze
notion image
notion image

Over Permission

查看提示,使用 pikachu/000000 登录,发现只有查看权限
notion image
使用admin/123456登录,发现有添加权限,地址为
回到pikachu,同样访问上面地址,发现可以正常访问
notion image
也可以正常添加

../../→目录遍历

用了哪些函数类型?
随便点击一个,发现地址有关键字 xxx.php
notion image
作死试试 ../../../index.php ,笑死,还套娃了
notion image

敏感信息泄露→IcanseeyourABC

F12查看,嚯哟这有个账号
notion image
notion image
登陆成功

PHP 反序列化

构造PHP payload
不过我猜测,这个类名和参数名有一个没猜对都没法用吧?
notion image
notion image

XXE漏洞

我看不懂,但我大受震撼.jpg
根据文章,可以构造一个这样的恶意payload来获取任意文件内容
notion image
然后可以获取到 /etc/passwd 的内容了

URL 重定向

@某佛大SSO

SSRF(curl)

这个curl可以用作访问仅限内网访问的应用,比如docker之间
notion image

复盘

学习思考
  • 工具
  • 学习
  • 【Klee-CTF】CTF.Show Web入门(2023/04/08 更新)计算机网络原理实验四──路由器基本配置
    • GitTalk
    Catalog