新手区
view source
一看题目就是知道是关于源代码的
直接ctrl+u,查看网页源代码,查看flag
robots
太明显了,robots.txt
直接访问robots.txt
在访问flag_ls_h3re.php
backup
打开网站看看
备份文件基本上都是bak后缀,直接访问index.php.bak
打开下载的文件
cookie
跟cookie有关
访问页面,刷新network选项中查看cookie值
访问cookie.php,刷新network选项中再查看
disabled button
访问界面,发现按钮不能点击,因为这里加了个disabled参数,去掉就好了
效果
weak auth
看题目意思是弱口令
访问界面,直接弱口令搞起!!!
command execution
看名字意思是命令行注入
访问界面,直接加个 “|” 试试,有的!!!
但是试到后面,发现好像进行了过滤,难受
这里就查看所有txt文件看看,有的!!!
直接查看
simple php
看题目,有可能是代码审计,访问界面看看
这里要两个flag组成
最后拼接在一起提交既可
get post
看题目跟请求方式有关,访问界面看看
让添加GET形式变量,添加看看
又让在原基础上在添加POST形式变量
结果
xff referer
看题目,应该是伪造IP地址相关
这里只允许123.123.123.123访问
通过burp抓包,添加X-Forwarded-For:123.123.123.123看看
说必须来自https://www.google.com,在添加个referer:https://www.google.com,成功的!!!
webshell
看题目是要拿shell了
访问界面看看,这么明显。。。
蚁剑直接连接,哈哈哈,666
simple js
没看出头绪
访问界面的源代码看看,啊!!!,我不会JS,完蛋
看了某大佬的博客,知道了密码在fromCharCode中,然后将十进制通过ASCII码转换得到flag
高手区
baby web
题目说让我们想想初始化界面是哪个
一般初始化界面都是index.php,然后刷新并看network选项
Training-WWW-Robots
看样子,还是robots.txt,直接访问!!!
在添加/fl0g.php
Web php unserialize
先了解下反序列化的知识
serialize(): 用于序列化对象或数组,并返回一个字符串
unserialize():对序列化的对象或数据进行反序列化,并返回原始的对象结构
序列化
反序列化
__construct 当一个对象创建时被调用
__destruct 当一个对象销毁时被调用
__toString 当一个对象被当作一个字符串使用
__sleep 在对象被序列化之前运行
__wakeup 在对象被反序列化之后被调用
了解了上面的知识后,访问界面看看
这是过滤脚本,对应的我们要写出攻击脚本
注意:需绕过__wakeup()函数和preg_match()函数、且用base64编码并反序列化fl4g.php
php rce(未解决)
访问界面看看,TP5,完蛋,需要代码审计知识,不会啊!!!
这里上网查了查,直接放payload吧,没有时间研究
?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=php%20-r%20%27system(“cat%20../../../flag”);%27
Web php include
访问界面看看
这里有个骚思路,针对于文件包含,利用data:text/plain,<?php system(“whoami”); ?>执行命令
text/plain将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理
发现可疑文件
这里过滤了php://,但是可以用大小写绕过
supersqli
访问界面发现为单引号字符型注入
尝试使用union select注入,结果提示过滤了很多关键字
仔细一看,没有过滤extractvalue函数,尝试查看数据库名称
先来笑的很开心,结果过了一会,呜呜呜,就算这样也是需要使用select查询数据的
翻了翻Bypass WAF文章,也是没想出来,只能去看WP了(还是太菜!!!),堆叠注入!!!
爆数据库名
爆表名
爆列名
使用预处理语句
发现过滤了set和prepare,但是可以用大小写绕过
ics-06
访问界面
看题目说只有一处可以进行操作,经测试为报表中心
有个id参数,试着注入试试,结果不行,再试试目录扫描,还是不行
最后在试试遍历ID值看看,成功了!!!
warmup
访问界面,毫无头绪
查看源代码,发现有端倪
访问source.php,结果如下
尝试访问hint.php,提示flag可能在ffffllllaaaagggg文件中,且为四层目录
先分析主要代码
在来分析checkfile函数代码
效果图
NewsCenter
访问界面
尝试搜索关键字flag,哈哈哈,当然是没有的
尝试使用注入,burp抓包保存文件,sqlmap直接跑
NaNNaNNaNNaN-Batman
不是网页了,是个附件,下载打开看看
查看源码看到最后面有个eval函数
尝试将eval改为alert函数弹出内容
代码审计要求是:1, 16个字符长度,2, ^表示开头一定要匹配到be0f23,$表示结尾一定要匹配到e98aa
所以拼接一下,就是be0f233ac7be98aa,在输入框中输入,结果如下