攻防世界 web--新手练习区--writeup

WEB--新手练习区

第一题:view_source

禁用js后鼠标右键查看源码,或者直接保存网页,通记事本打开,即可找到flag

第二题:robots

查看robots.txt文件,发现flag文件路径
打开flag_ls_h3re.php文件,得到flag

第三题:backup

常见的备份文件后缀名有:“.git” 、“.svn”、“ .swp”“.~”、“.bak”、“.bash_history”、“.bkf”
访问index.php.bak并进行下载,用txt打开得到flag

第四题:cookie

查看cookie,发现cookie.php文件,访问后再响应头中存在flag

第五题:disabled_button

根据提示删除前端禁止代码,然后点击按钮出现flag

第六题:weak_auth

直接输入admin/123456进入,即可看到flag

第七题:simple_php

变量a的值必须等于0,并且$a为真
$b为数字则退出,并且$b大于1234

第八题:get_post

使用hackbar插件,按照提示发送get和post方法

第九题:xff_referer

使用火狐插件更改ip,和referer访问即可得到flag

第十题:webshell

使用菜刀工具进行连接,密码shell,发现flag文件。

第十一题:command_execution

可以使用连接符,连接命令,进行命令执行
使用find / -name *.txt,查看所有的txt文件,找到flag.txt文件
在使用cat命令进行查看,得到flag

第十二题:simple_js

burp抓包,发现一段js代码,复制下来看一下,虽然没学过js代码,但是靠一些java基础也是可以看懂的。
先看dechiffre,联系上下文应该是前面定义了一个dechiffre类,然后在后面进行调用,但是它传的参数时一串十六进制的ASCll码,我们需要转换一下

\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30
使用ipython输出一下,得到("55,56,54,79,115,69,114,116,107,49,50")
应该是把解出来的参数传递到pass_enc,然后使用split分割为字符串数组,传入tab,然后在用String.fromCharCode对数组进行遍历解码,应该就可以得到flag
已开始想的是直接把pass的值该为
var pass = "55,56,54,79,115,69,114,116,107,49,50";
结果出来的flag的值不对,少了一位,如果把pass_enc=“55,56,54,79,115,69,114,116,107,49,50”,则又会多出来几位
总之就是给的代码有坑,需要我们自己写得出正确的flag,这里直接用菜鸟的在线编辑器简单的写了一下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>		
<body>

<script>
var pass = ["55","56","54","79","115","69","114","116","107","49","50"];
for (var i=0;i<pass.length;i++){
	p = String.fromCharCode(pass[i]);
	document.write(String.fromCharCode(pass[i]));
}
</script>

</body>
</html>

注:

String.fromCharCode可以将 Unicode 编码转为一个字符
split() 方法用于把一个字符串分割成字符串数组。




















posted @ 2020-12-02 01:12  蹲在路边吃红薯  阅读(100)  评论(0编辑  收藏  举报