其他的题目:
image.png
#15 flag在index里 (80 point)
这道题是php伪协议
#14 web4 (80)
打开题目地址,如图:
image.png
提示让看看源码
那么,按F12,
image.png
这好像是10进制还是啥的,
那么看这一句eval(unescap(p1)+unescap('%35%34%61%61%32' + p2));
这句话就是把p1和'%35%34%61%61%32'和p2连接起来
放到Converter中解码(注意拼接顺序)
image.png
点击那个Hex to Text,我试出来的,( ̄▽ ̄)"
格式化一下代码,如下:
function checkSubmit(){
var a=document.getElementById("password");
if("undefined"!=typeof a){
if("67d709b2b54aa2aa648cf6e87a7114f1"==a.value)
return!0;
alert("Error");
a.focus();
return!1
}
}
document.getElementById("levelQuest").onsubmit=checkSubmit;
好了有了源代码,那么就简单了
这段代码就是说如果password==67d709b2b54aa2aa648cf6e87a7114f1
就好了,填入框框中submit
image.png
KEY就拿到了
#13 管理员系统 (60 point)
打开题目地址,如图
image.png
嗯, 没啥想法,先按F12,
image.png
果然,这里有东西,不过好像是base64编码的东西,可以在线解密,也可以用py工具解码(需要先安装python3,然后加入到环境变量中)
image.png
这个test123 应该是密码了
image.png
额,IP不对,必须本地登陆,本地就是127.0.0.1,那么用burp把访问地址改成127.0.0.1把
打开firefox和burp,输入网址并访问,然后填入账号和密码
把burp设置为监听,然后submit
这样burp就捕捉到了请求,
右键发送到Repteaer
在HTTP头的下面填入 X-Forwarded-For : 127.0.0.1
记得和图中的一样,与下面的post数据中间留一行的距离
image.png
点击Go,flag就出来了
image.png
#12 网站被黑 (60 point)
进入题目地址,如图:
image.png
是一个黑页,嗯,一个网址被黑了,那么应该会被上传shell,那么直接御剑扫描后台
image.png
扫描出shell.php,打开链接是一个webshell
image.png
额,尝试一下弱密码,不行
image.png
那就只能爆破了
打开firefox和burp
打开题目地址,输入123(随便)
然后把burp调到监听,再在firefox中点击登陆
然后burp就捕捉到这一次请求了
image.png
右键发送到爆破模式
image.png
image.png
在Payloads中设置
Payload type为Simple list
点击下三角,选择Passwords
image.png
然后再Options中设置多一点线程,能快一点,(视情况而定)
然后在Intruder菜单中点击Start attack开始爆破
image.png
然后等待一会,因为大多数的密码都是不对的,那么大多数的返回值都是一样的,那么这些返回值的Length也是一样的,那么正确的那个密码的返回值就会和其他的不一样,那我们按Length排序,就可以把正确的返回拍到最上面,或最下面,(也有可能在其他地方,这不重要)
这里可以看到第1944次Request中Payload为hack的那一次,Length与其他的不同,那么点击查看一下,果然,flag出来了
image.png
#11 头等舱 (60 point)
进入题目地址后,如图:
image.png
不过题目是头等舱,猜想flag可能在http头中
用burp抓包就行了
设置firefox代理,然后打开burp,设置监听
在firefox中输入题目地址
burp就接受到请求了
image.png
注意一下网址对不对
然后右键发送到Repeater中点击GO
image.png
flag就在HTTP头中
#10 变量1 (60 point)
进入题目地址:
image.png
是一道代码审计,大意如下:
如果GET中有参数args
那么获取args
如果匹配args中有字母
输出$$args
image.pngflag在变量中,我们看到 我们知道容易引发变量覆盖
还有一段正则表达式 /^\w+$/
进行过滤 不会的可以百度或者Google
[a-z0-9A-Z] 以外的都不行 我们 get传入args
我们让args=GLOBALS 全局数组变量 关于这个变量可以百度Google
$args=GLOBALS 又和var_dump($$args) 前面那个$ 组成$GLOBALS
flag变量又在$GLOBALS中,var_dump eval 成功得到flag
#9 本地包含
#8 你必须让他停下 (60 point)
进入题目地址:
png
是一个无限刷新的页面
那么使用一个工具burp抓包让他停下来
打开firefox的设置,拉到最下面点击网络设置中的设置
image.png
如图设置
打开burp(使用run.bat打开)
把proxy中的第三个设置为 intercept is on
image.png
在firefox地址栏输入题目地址,回车
burp就捕捉到了请求,上图就是捕捉到的图片
然后右键,Send to Repeater
image.png
在Repeater中点击Go,等右边出现10.jpg的时候flag就一起出来了(如果不是10.jpg就多点几次Go)
image.png
#7 域名解析 (50 point)
这题要改域名解析
那么windows下应该去改hosts文件
C:\Windows\System32\drivers\etc\hosts
image.png
在文件末尾加上123.206.87.240 flag.baidu.com
然后访问flag.baidu.com就好了
#6 web3 (30 point)
进入题目地址,如图
image.png
弹出很多的弹窗(不是无限个), 可以点击不允许此页面创建更多消息然后关闭弹窗
然后发现页面上啥的没有,点开F12看看
image.png
看来这个就是Flag了,看上去像是URL编码
image.png
需要一个工具,输入原始值点击Decode HTML就解码了
#5 矛盾 (30 point)
进入题目地址,如图
又是代码审计的题目
意思大概就是:
从URL上GET一个'num'
判断如果num不是一个数字那么继续(is_numeric用法见https://www.runoob.com/php/php-is_numeric-function.html)
输出 num
如果num等于1
那么输出答案
即num既不能是数字字符,但是要等于1
我们可以想到用科学计数法表示数字1,既不是纯数字,其值又等于1
因此,构造payload
num=1*e*0.1
image
或者构造
image.png
可以得到flag
image.png
#4 web基础$_POST (30 point)
进入题目地址,如图
image.png
和上一题差不多,但是这次是POST
这个时候需要一个firefox浏览器(其他的应该也行(google不行,QQ浏览器不行,搜狗浏览器不行))(安装的时候记得点开选项,然后把流氓软件取消),然后在firefox上下载一个工具
image.png
image.png
image.png
浏览器的侧边就会出现hackbar了
打开题目链接
image.png
#3 web基础$_GET (30 point)
进入题目地址后如图
image.png
这是PHP语言,意思大概就是从URL上GET一个参数"what" ,然后输出what的内容,如果what=='flag',那么输出'flag{*****}'
那么在URL上填对应内容就好,然后回车
image.png
#2 计算器 (30 point)
点击链接进入题目地址,如图
image.png
57+58=115
那么填进去呗
image.png
有点不对劲,好像只能输入一个数字,按F12调出开发者工具
image.png
image.png
填入正确答案,点击验证就好了
image.png
#1 web2 (20 point)
点击链接进入题目地址后显示一个不断变快的滑稽页面
image.png
这个时候只需要按F12(开发者工具),然后注释里就有KEY
image.png
网友评论