攻防世界——WEB新手练习区

001 view source

题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。
做法1:地址栏输入view-source:在这里插入图片描述
做法2 : F12 source
在这里插入图片描述
做法3:burpsuite 拦截
在这里插入图片描述

002 get_post

题目描述:X 老师告诉小宁同学 HTTP 通常使用两种请求方法,你知道是哪两种
吗?
知识补充:
 两种 HTTP 请求方法:GET 和 POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和
POST。
{
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据
}
先get ?a=1
后post b=2
在这里插入图片描述
在这里插入图片描述

003 robots

题目描述:X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。
1
在这里插入图片描述
2在这里插入图片描述

004 backup

题目描述:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!
在这里插入图片描述
在这里插入图片描述
然后下载下来一个index.php.bak的文件,note打开
在这里插入图片描述

005 cookie

题目描述:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?

抓包看见 cooike.php
在这里插入图片描述
然后访问cooike.php,加提示 用 F12 查看cooike响应头
在这里插入图片描述

006 disabled_button

题目描述:X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?
F12 控制台修改,到代码地方右键,然后编辑,把disabled删除,然后就可以点击flag了
在这里插入图片描述

007 weak_auth

题目描述:小宁写了一个登陆验证页面,随手就设了一个密码。

一开始以为是SQL注入,后面发现有框弹出
结合题目,发现是若口令,因为有用户名和密码,经测试只能以admin为用户名。

在这里插入图片描述
后面测试密码123,123456等,发现123456可以登录
在这里插入图片描述

008 command_execution

题目描述:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。
先测试网站地址和127.0.0.1。 发现127.0.0.1有戏。
在这里插入图片描述
在这里插入图片描述
rtt min/avg/max/mdev = 0.036/0.040/0.044/0.003 ms
加上题目 就可以知道 是命令执行,但不是php那种命令执行引起的,因为是静态页面,所以我们只需要对输入框进行操作。
127.0.0.1 | 后面能进行linux命令,
在这里插入图片描述
发现执行命令,查看常见目录下的文件。
在这里插入图片描述
home 目录下发现flag.txt
在这里插入图片描述

009 simple_php

题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。
附上php代码进行分析


```php
<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){  // $a==0 ,也要同时等于$a。
    echo $flag1;
}
if(is_numeric($b)){  //is_numeric() 函数用于检测变量是否为数字或数字字符串。
    exit();
}
if($b>1234){  //b > 1234 输出flag2
    echo $flag2;
}
?>

根据上述分析构造payload

index.php?a=000a&b=12345b

在这里插入图片描述

010 xff_referer

题目描述:X老师告诉小宁其实xff和referer是可以伪造的。

在这里插入图片描述
一看到就是x-forwarded-for:ip
在这里插入图片描述
在伪造一下谷歌访问
在这里插入图片描述

011 webshell

题目描述:小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。
菜刀链接一句话木马。 密码shell
在这里插入图片描述
在这里插入图片描述

012 simple_js

题目描述:小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )
右键查看源代码。
发现是java源代码。

    <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) );

没学过java不要紧,大概看得懂意思就行。
无论输入啥,都无法跳转,然后查看源代码
“70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65”;
以为这串有用,结果没用。
尝试下一串代码,利用脚本解密

 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"));
string = "\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"
s = string.split(",")
c = ""
for i in s:
    i = chr(int(i))
    c = c+i
print(c)

结果:786OsErtk12
加上flag格式。

猜你喜欢

转载自blog.csdn.net/qq_34844644/article/details/107922470