zoukankan      html  css  js  c++  java
  • BUGKU web刷题记录

    web1

    直接F12查看源码,得到flag。

    web2

    直接输入验证码答案,长度被限制,修改可输入长度,提交后得到flag。

    web3

    $what=$_GET['what'];
    echo $what;
    if($what=='flag')
    echo 'flag{****}';
    

    在 PHP 中,预定义的 $_GET 变量用于收集来自 method="get" 的表单中的值。在 HTML 表单中使用 method="get" 时,所有的变量名和值都会显示在 URL 中。直接构造URL后添加?what=flag

    web4

    $what=$_POST['what'];
    echo $what;
    if($what=='flag')
    echo 'flag{****}';
    

    在 PHP 中,预定义的 $_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。利用HackBar插件进行POST传参,传递what=flag

    web5

    $num=$_GET['num'];
    if(!is_numeric($num))
    {
    	echo $num;
    	if($num==1)
    	echo'flag{******}';
    }
    

    is_numeric() 函数用于检测变量是否为数字或数字字符串。如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE,注意浮点型返回空值,即 FALSE。当碰到16进制数的时候,也会判断成数字。数字后面加上%00截断,is_numeric()函数就不能识别为数字。

    is_numeric()函数对于空字符%00,无论是%00放在前后都可以判断为非数值。

    松散比较:使用两个等号 == 比较,只比较值,不比较类型。

    严格比较:用三个等号 === 比较,除了比较值,也比较类型。

    构造num=1%00或者num=1a

    web6

    F12查看源码,js脚本最后有unicode编码,解码得到flag。

    web7

    F12查看源码,刷新过程中可以看到flag位置,可以录屏然后看回放;

    使用burp抓包,多试几次就能找到flag;

    禁用网页的js,F5手动刷新直到找到flag。

    web8

    本地文件包含。构造?hello=file("flag.php")

    web9

    isset() 函数用于检测变量是否已设置并且非 NULL。

    preg_match() 函数用于执行一个正则表达式匹配。正则表达式"/^w+(/" ^表示开始, w表示任意一个单词字符,即[a-zA-Z0-9_] ,+将前面的字符匹配一次或多次,)表示结尾,即要求整个字符串都是单词字符。

    超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用。$GLOBALS包含正在执行脚本所有超级全局变量的引用内容。

    构造payload ?args=GLOBALS

    web10

    查看消息头。

    web11

    提示有后门,使用dirsearch脚本扫描目录,发现后台登录地址shell.php,使用burp的密码爆破功能,爆破出密码hack

    web12

    测试输入账号密码,发现IP被禁,使用burp抓包,在请求头加上X-Forwarded-For: 127.0.0.1,成功访问。F12查看源码,发现字符串base64解码,得到密码:test123,尝试使用默认账号admin登录,登陆成功。

    web13

    F12查看源码,与JavaScript有关,将源码解密得到checkSubmit()函数

    var p1 = '%66%75%6e%63%74%69%6f%6e%20%63%68%65%63%6b%53%75%62%6d%69%74%28%29%7b%76%61%72%20%61%3d%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%42%79%49%64%28%22%70%61%73%73%77%6f%72%64%22%29%3b%69%66%28%22%75%6e%64%65%66%69%6e%65%64%22%21%3d%74%79%70%65%6f%66%20%61%29%7b%69%66%28%22%36%37%64%37%30%39%62%32%62';
    var p2 = '%61%61%36%34%38%63%66%36%65%38%37%61%37%31%31%34%66%31%22%3d%3d%61%2e%76%61%6c%75%65%29%72%65%74%75%72%6e%21%30%3b%61%6c%65%72%74%28%22%45%72%72%6f%72%22%29%3b%61%2e%66%6f%63%75%73%28%29%3b%72%65%74%75%72%6e%21%31%7d%7d%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%42%79%49%64%28%22%6c%65%76%65%6c%51%75%65%73%74%22%29%2e%6f%6e%73%75%62%6d%69%74%3d%63%68%65%63%6b%53%75%62%6d%69%74%3b';
    console.log(unescape(p1) + unescape('%35%34%61%61%32' + p2));
    
    function checkSubmit()
    {
    	var a=document.getElementById("password");
    	if("undefined"!=typeof a)
    	{
    		if("67d709b2b54aa2aa648cf6e87a7114f1"==a.value)
    	    return!0;
    		alert("Error");
    		a.focus();
    		return!1;	
    	}
    }
    document.getElementById("levelQuest").onsubmit=checkSubmit;
    

    提交67d709b2b54aa2aa648cf6e87a7114f1得到flag。

    web14

    远程文件包含,利用 PHP 流 filter构造?file=php://filter/convert.base64-encode/resource=index.php

    web15

    用字典生成器生成5位数的纯数字密码,使用burp进行密码爆破,根据返回长度判断密码是否正确,得到五位数密码12468.

  • 相关阅读:
    网页加速的14条优化法则 网站开发与优化
    .NET在后置代码中输入JS提示语句(背景不会变白)
    C语言变量声明内存分配
    SQL Server Hosting Toolkit
    An established connection was aborted by the software in your host machine
    C语言程序设计 2009春季考试时间和地点
    C语言程序设计 函数递归调用示例
    让.Net 程序脱离.net framework框架运行
    C语言程序设计 答疑安排(2009春季 110周) 有变动
    软件测试技术,软件项目管理 实验时间安排 2009春季
  • 原文地址:https://www.cnblogs.com/xgcl/p/14493038.html
Copyright © 2011-2022 走看看