• 一些CTF题目--20/9/3


    1.

    看源码

    POST方法。Extract覆盖。 直接url ?参数不行,因为POST参数不在URL上,GET参数才在

    Burpsuite抓包,改成  pass=1&thepassword_123=1,这样就相等了

     

    2.

    题目大概:

    $u=$_GET[‘$user’]

    $f=$_GET[‘$variable’]

    If(isset($u)&&File_get_content($u,’r’)===”im admin”){

       If(preg_match(‘/flag/’))

      Error

       Else

    Eval(“var_dump($$f);”)

    }

    主要是两个地方:===的判断和绕过preg_match(‘/flag/’)

    Burpsuite 右键change request method post

    然后url   …/?user=php://input&variable=globals

    下方输入 im admin

    3.

    <h1><center>If you want to login, please let me get username and password.</center></h1>

    <!-- mysql_query("set names utf8");

    function check_username($str){

    if(preg_match("/^admin$/i",$str)){

    return 1;

    }

    for($i=195;$i<240;$i++){

    if(preg_match("/".chr($i)."/i",$str)){

    return 1;

    }

    }

    return 0;

    }

    function check_password($str){

    if(preg_match("/admins/i",$str)){

    return 1;

    }

    return 0;

    }

    $sql="select * from user where username='$username' and password='$password'"; a/a-->

    题目提示了,用户名adminpassword admins。以及可以用username apassword a先试试。

    只需要绕过检测。

    检测:adminadmins

    绕过admin检测:Username=admin%c2。 除了检测admin还检测195-39ascii字符,而%c2194的范围内。

    绕过password检测: Mysql 默认字符latin1,。页面显示是utf-8。用字符转换的漏洞代替passwordapassword=%c3%83dmins

    5.

     

    先抓包试试

    发到repeatergo。发现reponseflag。但是这个flag每次变化。Base64解码两次每次是不同的一串数字。

    再看题目提示,应该是把这个flag当做message post出去

    速度很快,每次flag不一样,所以用代码(脚本/或者手速特别快)。得到最后的flag

    #coding:utf-8

    import requests

    import base64

    url='http://192.168.8.160/web/fast/'

    s=requests.Session()

    header=s.get(url).headers

    print(header)

    flag = base64.b64decode(base64.b64decode(header['flag']).decode().split(':')[1]).decode() #对其进行base64两次解密

    data={'message':flag}

    print(s.post(url=url,data=data).content.decode())

    6.

    鼠标点不到。检查。

    虽然点不到,但是看代码知道点到会跳到 /?key=700url

     

    8

    QNKCDZO md5 编码为0exxxx

    PHP对所有0e开头(16进制)字符串认为相等

    在构造一个0e开头的即可

  • 相关阅读:
    js格式化时间和时间操作
    java链接FTP实现上传和下载
    JQuery 对 Select option 的操作
    利用set实现去重
    数组去重的五个办法
    JavaScript实现360度全景图片展示效果
    对于行高(line-height)的一些理解
    Flex 布局教程:语法篇
    学习Javascript闭包
    MySQL explain字段解释
  • 原文地址:https://www.cnblogs.com/lqerio/p/13610159.html
Copyright © 2020-2023  润新知