1.web2
题目地址:
查看网页源代码得到flag KEY{Web-2-bugKssNNikls9100}
2.计算器
题目地址:http://123.206.87.240:8002/yanzhengma/
打开题目链接发现是简单的数学计算,但是只能输入一位数字
查看网页源码发现输入的maxlength=1
火狐浏览器f12,查看器,修改maxlength=5
重新输入计算结果,验证,得到flag
3.web基础$_GET
题目地址:
在url后加上index.php?what=flag或?what=flag
得到flag{bugku_get_su8kej2en}
4.web基础$_POST
post传参
点击run
得到flag{bugku_get_ssseint67se}
5.矛盾
需要构造$num,使得$num不是数字或数字字符串,且($num==1)为true
php是一种弱类型语言
构造$num=1+字母,如num=1x
得到flag{bugku-789-ps-ssdf}
6.web3
题目地址:
题解: (引用)
右键查看网页源码
HTML解码
得到<!--KEY{J2sa42ahJK-HS11III}-->
7.域名解析
域名解析
50
听说把 flag.baidu.com 解析到123.206.87.240 就能拿到flag
修改本机hosts文件
hosts文件地址C:\Windows\System32\drivers\etc\hosts
在末尾加上123.206.87.240 flag.baidu.com
浏览器打开flag.baidu.com得到flag
KEY{DSAHDSJ82HDS2211}
8.
你必须让他停下
60
地址:
作者:@berTrAM
右键检查,仔细观察,闪动过程中会出现flag,眼疾手快把它复制下来(这不是正确解法,正确解法引用())
(正确解法我没搞出来~~~~~)hhhhh
复制得到flag <a style="display:none">flag{dummy_game_1s_s0_popular}</a>
9.
本地包含
60
地址:
参考:
<?php
include "flag.php"; $a = @$_REQUEST['hello']; eval( "var_dump($a);"); show_source(__FILE__); ?>$_REQUEST:默认情况下包含了 , 和 的数组。()
eval:eval — 把字符串作为PHP代码执行()
var_dump — 打印变量的相关信息()
此函数是该函数的别名: .
highlight_file — 语法高亮一个文件()
PHP魔术常量__FILE__:文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__
总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
几个 PHP 的“魔术常量”()
成功输出 flag.php 文件内容 flag{bug-ctf-gg-99}
10.
变量1
60
参考:(这个write up 写的很详细,受益匪浅)
error_reporting — 设置应该报告何种 PHP 错误
isset — 检测变量是否已设置并且非 NULL
$_GET---get方式传参
preg_match — 执行匹配正则表达式
die — 等同于
解题思路:eval()函数存在命令执行漏洞 我们的目标是查看flag1.php中的flag 首先想到的是本地包含漏洞查看源码 或者上传一句话木马等思路
而本题条件判断加了正则表达式判断,过滤了括号和引号等字符。无法构造! 但输出时是 $$args
我们想到构造 php中超全局变量 $GLOBALS
PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。
构造url:
flag{92853051ab894a64f7865cf3c2128b34}
php官方文档()
新手入门,参考了很多博客,谢谢。