simple_js
这题主要考察简单的js代码审计,进入场景后,提示输入密码,这里我们先点击取消,然后查看JS代码:
其中pass为假密码,真正的密码为String[“fromCharCode”]的内容,利用网上的工具将16进制转换为10进制后再根据ascii码的转换,得到flag。
xff_referer
这题主要考察新手们对XFF和referer的了解,老规矩,先回顾一下这个两个http头的知识:
X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。通俗来说,就是浏览器访问网站的IP。
HTTP Referer是hearder的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。可以理解为referer判断你是通过何种页面进行访问。
根据场景的提示,在Burpsuite头信息中,把xff的IP更改为123.123.123.123。随后网页再次给出要求,要用上谷歌的浏览器地址,伪装成通过谷歌浏览器连接来的。
更改了xff和referer后,最终得到flag。
weak_auth
进入场景后,是一个简单的登陆界面,先尝试查看网页的源代码,并没有给我们留下一些信息,那么我们可以试着输入一个账号密码,他会提醒你,“请作为admin登陆”。再结合题目,弱认证,应该是单纯的数字组合。
使用Burpsuite对密码进行爆破,最后得到密码为:“123456”。使用正确用户名和密码进入登陆界面,得到flag。
webshell
根据题目的提示,该题中存在php的一句话木马,我们先来了解一下,什么是一句话木马:在我们进行渗透测试的最后阶段,入侵到内网里,无论是想要浏览网站结构,还是抓取数据库,或者是挂个木马等等,到最后最常用的就是执行一句话木马,从客户端轻松连接服务器。php的一句话木马主要靠eval函数实现,能将函数里的内容,当成是代码进行执行。
要是想执行一句话木马,最简单的就是服务器端需要有一句话后门,比如上图(场景)这样。然后我们可以使用中国菜刀这款网站管理软件进行操作,获取服务器下的各种信息。
菜刀右键添加shell,填上地址和值(题目中给出),环境选php下的UTF-8编码,添加shell之后进入服务器,找到flag.txt文件,即可获得flag。
command_execution
根据题目的提示,小宁写了一个ping的功能但是却没有写waf,可啥是传说中的waf呢?我们先来学习一下:Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。WAF工作在应用层,对Web应用防护具有先天的技术优势。基于对Web应用业务和逻辑的深刻理解,WAF对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。
那么我们就可以利用基本的命令组合对ping中的内容进行注入,需要如下知识:
window或linux下:command1 && command2 先执行command1后执行command2
command1 | command2 只执行command2
command1 & command2 先执行command2后执行command1
那么我们可以构成一个这样的语句,”111.198.29.45|ls ../../../home”。得到上图的结果,存在一个名为flag的txt文件。
然后继续构造语句,查看flag.txt文件中的信息:”111.198.29.45 | cat ../../../home/flag.txt”,得到flag
simple_php
从题目大概可以推断,这题主要考察的是php代码审计。
从代码中我们可以得知,flag分为两个部分,要想拿到完整的flag,a的值需为本身,且b为大于1234的非纯数字。那么我们可以构造”?a=a&&b=1235a”,最终得到flag。