view_source
F12查看开发者工具得到flag
robots
掌握robots协议的知识:
robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
步骤
1、访问http://111.198.29.45:33982/robots.txt发现f1ag_1s_h3re.php
2、访问http://111.198.29.45:33982/f1ag_1s_h3re.php得到flag
backup
掌握有关备份文件的知识:
常见的备份文件后缀名有:
“.git” 、“.svn”、“ .swp”、“.~”、“.bak”、“.bash_history”、“.bkf”
逐个试常用的文件后缀,发现是index.php.bak,得到flag
cookie
掌握有关cookie的知识:
Cookie是当主机访问Web服务器时,由 Web 服务器创建的,将信息存储在用户计算机上的文件。
步骤
1、使用firefox插件查看cookie,看到cookie.php
2、访问http://111.198.29.45:47911/cookie.php,提示查看http响应包
3、F12查看数据包,得到flag
disabled_button
初步了解前端知识
步骤
1、F12定位到按钮,将disabled=""改为disabled=“false”或删除disabled
2、此时按钮可按,按下后得到flag
weak_auth
burp抓包,弱口令爆破,发现密码为123456,得到flag
command_execution
在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为:
(1)用来检测网络的连通情况和分析网络速度;
(2)根据域名得到服务器IP;
(3)根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由 器数量。
我们通常会用它来直接ping IP地址,来测试网络的连通情况。
步骤
1、输入127.0.0.1,Ping 一下本地的IP 看看能不能成功执行,并查看命令执行结果。
2、在文本框内输入127.0.0.1 | find / -name “flag*” (将 | 替换成 & 或 && 都可以),查找flag所在位置,尝试一下看看能否成功。
3、执行成功,得到flag.txt存放的地址,我们如下,输入 127.0.0.1 | cat /home/flag.txt 获取Flag。
(或ls …/…/…/依次查看上级目录,再查看home,得到flag.txt)
simple_php
简单的php代码审计
掌握php的弱类型比较(==)
源码如下
<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){
echo $flag1;
}
if(is_numeric($b)){
exit();
}
if($b>1234){
echo $flag2;
}
?>
步骤
1、这题看代码可以知道要输入a,b变量,输入时注意在网页后加“/?”即可开始赋值。
2、对于a==0且为真,但a=0时为false,最后知道在a为str类型时的0符合条件(‘0’)。
3、再看b的值,is_numeric要求b不为数字,且b要大于1234,此时由于PHP代码弱类型的特性,所以可以让b等于一个大于1234的数字(12345a),再在后面随便加点字母变成str类型。
get_post
掌握常用http请求方式
使用firefox插件hackbar
步骤
1.打开hackbar,用get方式传递a=1
2.勾选hackbar上的post data,用post方式传递b=2,可获得flag
xff_referer
掌握有关X-Forwarded-For和Referer的知识:
X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项;
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的;
步骤
1.打开firefox和burp,使用burp对firefox进行代理拦截,在请求头添加X-Forwarded-For: 123.123.123.123,然后放包
2.接着继续在请求头内添加Referer: https://www.google.com,可获得flag
webshell
因为已经上传了木马,直接菜刀连接即可
simple_js
js代码审计
编码解码
js源码如下
function dechiffre(pass_enc){
var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
var tab = pass_enc.split(',');
var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length;
k = j + (l) + (n=0);
n = tab2.length;
for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i]));
if(i == 5)break;}
for(i = (o=0); i < (k = j = n); i++ ){
o = tab[i-l];
if(i > 5 && i < k-1)
p += String.fromCharCode((o = tab2[i]));
}
p += String.fromCharCode(tab2[17]);
pass = p;return pass;
}
String["fromCharCode"](dechiffre("\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"));
h = window.prompt('Enter password');
alert( dechiffre(h) );
步骤
1、进行代码审计,发现不论输入什么都会跳到假密码,真密码位于 fromCharCode(base16) 。
2、先将字符串用python处理一下,得到数组[55,56,54,79,115,69,114,116,107,49,50],exp如下。
s="\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"
print (s)
3、将得到的数字分别进行ascii处理,可得到字符串786OsErtk12。
4、规范flag格式,可得到Cyberpeace{786OsErtk12}。