type
status
date
slug
summary
tags
category
icon
password
此文章为 小可莉 (KellyWong) 代发
准备资料
暴力破解
基于表单的破解
使用 burpsuite ,一般用户名使用admin,密码可以通过burpsuite破解

首先输入 admin admin 构造一个请求



清除一下无关参数,只保留 password
回到burpsuite,发现有一个payload的长度明显有点问题

输入测试,诶成了

验证码绕过 (on server)
对网络请求,提取出关键,发现当且仅当访问 http://172.16.40.2/pikachu/inc/showvcode.php 时,验证码才会发生改变,连续curl以下内容时,验证码是始终保持有效的
接下来的操作步骤和上面一致。
反射型xss(get)/ 存储型xss
在message内写入<script>alert(1)</script>

DOM 型 xss/DOM 型 xss-x
- 在框内输入
javascript:alert(1)
,点击链接触发

- 在本页面不做任何操作就触发
尝试:
-
' ></a><script>alert(1)</script><a>
结果看页面是有了,但是没法弹出来
'onmousemove="alert(1)"
在链接上移动触发

CSRF(get)/CSRF(post)
该链接修改信息参数都放在url上,所以要修改可以直接从url下手
可修改 sex,phonenum,add等参数,并通过ajax无感知地修改用户的数据。不行就整个链接嘛,或者window.open
直接javascript,
post同理,可以用form构造
网站源码?拿来吧你,随便找个html套上然后改一下这个action为目标页面就可
搜索型注入
输入
a' or 1=1 #
即可匹配所有用户, %%
也行,%是通配符
基于 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进行过滤
File Inclusion(remote)
我这里没开 allow_url_include,所以就不演示了,但远程可以构造一个txt文件,里面写

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

Unsafe Fileupload→client check
F12 直接把这个去掉,好像不行

用burpsuite拦截响应请求把这个给去掉,重新上传,getdaze


Over Permission
查看提示,使用 pikachu/000000 登录,发现只有查看权限

使用admin/123456登录,发现有添加权限,地址为
回到pikachu,同样访问上面地址,发现可以正常访问

也可以正常添加
../../→目录遍历
用了哪些函数类型?
随便点击一个,发现地址有关键字
xxx.php

作死试试
../../../index.php
,笑死,还套娃了
敏感信息泄露→IcanseeyourABC
F12查看,嚯哟这有个账号


登陆成功
PHP 反序列化
构造PHP payload
不过我猜测,这个类名和参数名有一个没猜对都没法用吧?


XXE漏洞
我看不懂,但我大受震撼.jpg
根据文章,可以构造一个这样的恶意payload来获取任意文件内容

然后可以获取到 /etc/passwd 的内容了
URL 重定向
@某佛大SSO
SSRF(curl)
这个curl可以用作访问仅限内网访问的应用,比如docker之间

复盘
- 搜索型注入中 两个%是为了闭合,补充union等知识(比赛时一般都只能手工注入)

- XSS 是怎么实现反弹的
一般可以通过 chromedriver 模拟访问来实现 xss 反弹,在访问的时候添加上 cookie 里的 flag
- PHP 反序列化 https://xz.aliyun.com/t/6753
