首页 > 数据库 >第五天sql注入随笔

第五天sql注入随笔

时间:2023-04-19 16:00:04浏览次数:39  
标签:用户名 函数 取整 随机数 sql 第五天 随笔 select 注入

count* 和group by函数联合使用的时候,查出来的是每个分组里的记录个数

1.updataxml函数

第一个参数是string格式,是xml文档名字,第二个是xpath,是路径,字符串,第三个是字符串,是替换查找到的符合条件的数据,和extractvalue谁不被过滤用谁

 

3.floor 函数

floor是向下取整,而as 是取名,比如select id as 序号 from student,然后检索出来之后,id的地方用序号表示,起名字

rand函数随机产生0到1之间的随机数,是伪随机,rand的参数是种子,在不同语句里同一个种子执行后,第一次的时候数都一样,他生成的随机数序列顺序一样,像这里,同样是一个随机数种子0,两次生成的随机数都是不一样的

而如果我用同一个随机数种子,生成一串的时候,多次生成序列也相同

 

 所以这里确定了,rand0的前三个数就是这三个,所以这里*2之后,可以出现第一个取整是0,第二个是1,第三个是1,而select后面可以跟着数学函数,查询第一条记录的时候,rand0产生了0.15那个数,乘以2取整是0,插入这个虚表,并且count为1,第二次查询的时候,产生的是0.6几,乘以2取整是1,第一次出现,插入这个表,count是1,必须得有大于等于三行的数据才能行,因为这样才能产生冗余,

 所以这里,查询第一条记录的时候x产生的是,待理解,没明白

2.exp函数

exp函数是返回e的x次方的值,当传递大于709的时候会产生溢出

 ~是按位取反

这里利用的是select成功执行的话返回0的特性,所以再加一层select

 这里成功的显示了,说明这个函数成功的执行了,但是exp受到版本限制,5.5和5.6才能行,因此需要版本符合才能用~

 

 这里后面的x是什么意思,x是未知别名

3.extractvalue()函数

第一个参数是xml文档的而名称,第二个参数是xpath格式的字符串,报错注入需要写入错误的格式来显示错误的信息

宽字节注入

就是因为一些转义函数会吧单引号注释掉,用/,但是如果你在/前面加上了%DF,这时候%DF%5c就会被mysql认为是一个宽字符,转义为一个汉字,这时候后面的单引号就会正常的闭合产生错误,来逃脱转移函数的筛选,%27就是/,

 然后就相当于到了之前联合注入里,用单引号闭合之后的长度

二次注入

第一次插入的时候,所有的特殊字符都被/给转义了,但是/不会 存入数据库,已经存入数据库的还是之前的恶意数据本身,并且此时因为已经存入数据库,会认为这个是可信的,不会再被转义,此时就可以进行注入

所以通过注册的时候,利用用户名去给他进行一个注入

 之后正常登录,账户名就是admin ‘#,然后进行密码修改,此时修改成功的同时,因为修改密码界面其实并没有让输入用户名,他的用户名是从session里面直接复制过去的,所以用户名里的这个username,就可以当作一个注入语句

sql语句拼接过来之后, ’#完了之后,后面的都不会执行,然后这个时候,修改的实际是管理员admin的密码

 limit注入

 

 limit注入一般是整型的

 

标签:用户名,函数,取整,随机数,sql,第五天,随笔,select,注入
From: https://www.cnblogs.com/lhy-home/p/17333550.html

相关文章

  • 普罗米修斯MySQL监控
    1.下载MySQL的exporter下载地址:https://prometheus.io/download/ 2.上传到需要监控的MySQL的机器上进行解压 解压安装tar-xzvfmysqld_exporter-0.14.0.linux-amd64.tar.gz 为了后续使用方便将名称修改为:mysqld_exporterexportDATA_SOURCE_NAME='root:123456......
  • 记一篇SQL笔记
    title:记一篇SQL笔记date:2022-11-1015:02:59cover:https://img2023.cnblogs.com/blog/3177837/202304/3177837-20230419150737994-1755737660.jpgtop_img:https://img2023.cnblogs.com/blog/3177837/202304/3177837-20230419150737994-1755737660.jpgdescription:今天......
  • MySQL 查看数据库表容量大小
    1.查看所有数据库容量大小selecttable_schemaas'数据库',sum(table_rows)as'记录数',sum(truncate(data_length/1024/1024,2))as'数据容量(MB)',sum(truncate(index_length/1024/1024,2))as'索引容量(MB)'frominformation_schema.t......
  • NULL值引入导致新增的unknown逻辑值 以及 SQL server中ANSI_NULLS的使用
    部分参考文章:https://www.bbsmax.com/A/A7zgEOVl54/ [BBSMAX]Lumia1020 2022-11-08https://www.cnblogs.com/SFAN/p/4343703.htmlcnblogs@ sunnyboy 2015-03-1710:17wikipedia三值逻辑:https://zh.wikipedia.org/wiki/%E4%B8%89%E5%80%BC%E9%80%BB......
  • MySQL 级联查询所有父级
    表结构:idnamecodeparent_code1老板A 2总经理BA3项目总监CB4开发工程师DC      查询D开发工程师的所有上级:SELECT`name`,@`code`ASc_ids,(SELECT@`code`:=parent_codeFROMdepartWHERE`code`=@`code`)ASp_id......
  • 使用TSQL创建作业
    使用TSQL创建作业<scriptlanguage="javascript"type="text/javascript">document.title="使用TSQL创建作业-"+document.title</script>具体帖子记不清了,在原来的基础上修改了一点:ifexists(select*fromdbo.sysobjectswhereid=object_id(N......
  • SQL——CHARINDEX,找到字符(char)的位置(index)
    DECLARE@ItemCodeVARCHAR(50)SET@ItemCode='1,2,34,56,78,9,0'WHILE(CHARINDEX(',',@ItemCode)<>0)BEGINPRINT(SUBSTRING(@ItemCode,1,CHARINDEX(',',@ItemCode)-1))SET@ItemCode=STUFF(@ItemCode,1,CH......
  • Mysql数据库的安装教程
    (Mysql数据库的安装教程)一、Mysql数据库介绍MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软......
  • 6.1.4 MySQL缓存策略
    LinuxC/C++服务器MySQL缓存策略大部分场景下MySQL的读要远远大于写的需求的,急需要解决的问题是提升读的性能......
  • SQL 跨数据库处理 语句
    1.插入数据SETIDENTITY_INSERT数据库A.dbo.FI_FloExpenseDailyON--设置为允许手动插入值INSERTINTO数据库A.[dbo].[表1](ID,[FlowNo])SELECTID,ExpenseNoFROM数据库B.[dbo].[表1]WHEREAppType=0SETIDENTITY_INSERTMixOne_DB_Seind.dbo.FI_FloExpenseDaily......