1.view_source
2.robots
3.backup
4.cookie
5.disabled_button
6.weak_auth
7.simple_php
8.get_post
9.xff_referer
10.webshell
11.command_excution
12.simple_js
1.view_source
ctrl+u查看源代码
出现以下界面:
得到flag。
2.robots
首先了解一下robots.txt的概念:
robots是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。
也就是说robots.txt中存在的文件名是我们作为用户不能访问的文件。而我们为了寻找flag,则就是遇见凡是不能访问的就去访问。
构建路径:在地址栏后写入/robots.txt,得到不允许访问的界面的文件名。
访问:/f1ag_1s_h3re.php
得到flag。
3.backup
首先普及一个关于备份文件的概念:文本编辑器和代码编辑器通常对正在编辑的文件会事先产生一个备份文件,这样做的目的是让出问题后可以恢复文件。这类备份文件通常和原文件在同一个目录下,而且文件的命名也和原文件类似。 例如:对一个名为index.php的文件进行编辑,自动创建的备份文件将会被命名成“index.php.bak”。其他的代码编辑器也是一样的,都有一套自己的备份规则。
在地址栏加入路径:/index.php.bak
得到一个后缀名为.bak的文件,用记事本打开后,直接查看内容,就可以得到flag。
4.cookie
首先普及一下cookie(有时也用cookies)的概念:类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息
session就是建立一个用户和服务器的会话。在这里,有爬虫基础应该更容易理解。可以将cookie理解为你在网页中登录时电脑中存储的账号和密码一类的东西。
按F12进入调试界面(在这里我用的是火狐浏览器):点击网络,进入从cookie里面:发现有一个cookie.php,于是进入cookie.php。
得到一个新页面:界面提示查看消息头,得到flag。
5.disabled_button
打开界面:发现有一个flag的按钮,观看其js代码,得到一个可疑的disabled:
将disabled删除,发现网页上的按钮可以按了。点击按钮,得到flag。
6.weak_auth
根据题目可以猜出,密码是弱口令。进入界面:
用户名就用常用的admin,密码就用最简单的123456(其他的弱口令也可,可以百度搜索弱口令),得到flag。
7.simple_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;
}
?>
从代码中得到flag被分成两份,但并不麻烦,只要让flag1和flag2都输出出来,就可以得到flag了。
审计代码,可以得出,$a==0 and $a为真,则输出flag1。
在这里说一下在php语言中关于=的区别:
符号 | 意义 |
---|---|
= | 赋值 |
== | 变量值相等 |
=== | 变量值与类型完全相等 |
由此可知,只要令a=‘0’,就可以得到flag1了。
函数is_numeric要求b不是数字,且要满足b>1234,才可以可以得到flag2,故令b=12345a。
由代码可知,a和b的传参方式都是GET方式。
可以在地址栏构造?a=‘0’&b=12345,得到flag。
8.get_post
两种 HTTP 请求方法:GET 和 POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据
GET和POST是两种方式:
对于GET,方式有使用bp抓包、在地址栏输入 ?传参变量名=变量值 多个传参可以在后面加 & 。
对于POST,方式有使用bp抓包,使用firebug等。在这里我用的是fiebug(fiebug是火狐浏览器的一个拓展工具)。
截图如下:
得到flag。
9.xff_referer
不难看出,这道题是要我们伪造一个请求头。 关于bp的使用与安装网上有一大堆教程,我就不细讲了。打开bp,抓包,构造X-Forwarded-For,提供一个虚假的IP。
得到下图,要求我们构造一个来自http://www.google.com的请求。
构造请求:得到flag。
10.webshell
关于webshell和一句话木马:webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。
可以粗浅的理解为webshell就是网页后门。
一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。
常用的一句话木马包括:
asp一句话木马:<%execute(request(“value”))%>
php一句话木马:<?php @eval($_POST[value]);?>
aspx一句话木马:<%@ Page Language=“Jscript”%>
<%eval(Request.Item[“value”])%>
关于中国菜刀的用法可以参考:中国菜刀的功能介绍和使用方法 这位师傅写的特别好。
进入菜刀,构建好记录,右击打开文件管理,得到一个flag.txt.。
打开flag.txt,得到flag。
11.command_excution
在题目描述中说道没有写waf(Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)),我们可以得知该网站服务器的内容向我们全开放。
…/意思为访问上一级目录,大部分网站的后天都是linux的内核,所以说学好linux很重要。我们一级一级向上访问,发现一个home。
进入home,发现flag.txt。
打开flag.txt,得到flag。
12.simple_js
进入界面,发现一串js代码:<html>
<head>
<title>JS</title>
<script type="text/javascript">
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) );
</script>
</head>
</html>
观察代码发现,不论输入什么,输出都不变,的确挺伤感情的。
那么吸引我们的就是这一串十六进制的代码段了,将\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转化为ASCII字符,得到786OsErtk12。这就是flag。
来源:CSDN
作者:渺辰
链接:https://blog.csdn.net/qq_44197252/article/details/104269244