新手区

view source

一看题目就是知道是关于源代码的
image.png

直接ctrl+u,查看网页源代码,查看flag
image.png

robots

太明显了,robots.txt
image.png

直接访问robots.txt
image.png

在访问flag_ls_h3re.php
image.png

backup

备份相关

image.png

打开网站看看
image.png

备份文件基本上都是bak后缀,直接访问index.php.bak
image.png

打开下载的文件
image.png

cookie

跟cookie有关
image.png

访问页面,刷新network选项中查看cookie值
image.png

访问cookie.php,刷新network选项中再查看
image.png

disabled button

image.png

访问界面,发现按钮不能点击,因为这里加了个disabled参数,去掉就好了

image.png

效果
image.png

weak auth

看题目意思是弱口令
image.png

访问界面,直接弱口令搞起!!!
image.png
image.png

command execution

看名字意思是命令行注入
image.png

访问界面,直接加个 “|” 试试,有的!!!
image.png

但是试到后面,发现好像进行了过滤,难受
image.png

这里就查看所有txt文件看看,有的!!!
image.png

直接查看
image.png

simple php

看题目,有可能是代码审计,访问界面看看
image.png

这里要两个flag组成
image.png
image.png

最后拼接在一起提交既可

get post

看题目跟请求方式有关,访问界面看看
image.png

让添加GET形式变量,添加看看
image.png

又让在原基础上在添加POST形式变量
image.png

结果
image.png

xff referer

看题目,应该是伪造IP地址相关
image.png

这里只允许123.123.123.123访问
image.png

通过burp抓包,添加X-Forwarded-For:123.123.123.123看看
image.png

说必须来自https://www.google.com,在添加个referer:https://www.google.com,成功的!!!
image.png

webshell

看题目是要拿shell了
image.png

访问界面看看,这么明显。。。
image.png

蚁剑直接连接,哈哈哈,666
image.pngimage.png

simple js

没看出头绪
image.png

访问界面的源代码看看,啊!!!,我不会JS,完蛋
image.png

看了某大佬的博客,知道了密码在fromCharCode中,然后将十进制通过ASCII码转换得到flag
image.png

高手区

baby web

题目说让我们想想初始化界面是哪个
image.png

一般初始化界面都是index.php,然后刷新并看network选项
image.png

Training-WWW-Robots

image.png

看样子,还是robots.txt,直接访问!!!
image.png

在添加/fl0g.php
image.png

Web php unserialize

先了解下反序列化的知识

serialize(): 用于序列化对象或数组,并返回一个字符串

unserialize():对序列化的对象或数据进行反序列化,并返回原始的对象结构

序列化
image.png
image.png

反序列化

  1. __construct 当一个对象创建时被调用
  2. __destruct 当一个对象销毁时被调用
  3. __toString 当一个对象被当作一个字符串使用
  4. __sleep 在对象被序列化之前运行
  5. __wakeup 在对象被反序列化之后被调用

image.png
image.png

了解了上面的知识后,访问界面看看
image.png

这是过滤脚本,对应的我们要写出攻击脚本

注意:需绕过__wakeup()函数和preg_match()函数、且用base64编码并反序列化fl4g.php
image.png
image.png

php rce(未解决)

image.png

访问界面看看,TP5,完蛋,需要代码审计知识,不会啊!!!
image.png

这里上网查了查,直接放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
image.png

Web php include

image.png

访问界面看看
image.png

这里有个骚思路,针对于文件包含,利用data:text/plain,<?php system(“whoami”); ?>执行命令

text/plain将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理

image.png

发现可疑文件
image.png

这里过滤了php://,但是可以用大小写绕过
image.png
image.png
image.png

supersqli

image.png

访问界面发现为单引号字符型注入
image.png
image.png

尝试使用union select注入,结果提示过滤了很多关键字
image.png

仔细一看,没有过滤extractvalue函数,尝试查看数据库名称
image.png

先来笑的很开心,结果过了一会,呜呜呜,就算这样也是需要使用select查询数据的
image.png

翻了翻Bypass WAF文章,也是没想出来,只能去看WP了(还是太菜!!!),堆叠注入!!!

爆数据库名
image.png

爆表名
image.png

爆列名
image.png

使用预处理语句
image.png

发现过滤了set和prepare,但是可以用大小写绕过
image.png

ics-06

image.png

访问界面
image.png

看题目说只有一处可以进行操作,经测试为报表中心
image.png

有个id参数,试着注入试试,结果不行,再试试目录扫描,还是不行

最后在试试遍历ID值看看,成功了!!!
image.png
image.png

warmup

image.png

访问界面,毫无头绪
image.png
查看源代码,发现有端倪
image.png

访问source.php,结果如下
image.png
尝试访问hint.php,提示flag可能在ffffllllaaaagggg文件中,且为四层目录
image.png
先分析主要代码
image.png

在来分析checkfile函数代码
image.png

效果图
image.png

NewsCenter

image.png

访问界面
image.png

尝试搜索关键字flag,哈哈哈,当然是没有的
image.png

尝试使用注入,burp抓包保存文件,sqlmap直接跑
image.png

NaNNaNNaNNaN-Batman

image.png

不是网页了,是个附件,下载打开看看
image.png
查看源码看到最后面有个eval函数

image.png

尝试将eval改为alert函数弹出内容
image.png

代码审计要求是:1, 16个字符长度,2, ^表示开头一定要匹配到be0f23,$表示结尾一定要匹配到e98aa

所以拼接一下,就是be0f233ac7be98aa,在输入框中输入,结果如下
image.png