sql注入之类型及提交注入
#参数类型
这里说的参数是源码中存在注入的地方。
其中参数类型有:数字、字符、搜索、json等。
其中sql语句干扰符号有:',",%,),}等,过滤首先考虑闭合这些符号,再进行注入测试。
例如php中的代码:
$name = $_GET['x']
$sql = "select * from user where name='$name'";
请求时:
http://www.xxx.com/x.php?id=xxx and 1=1 返回sql语句:
select * from user where name='xxx and 1=1' 过滤方法:
http://www.xxx.com/x.php?id='xxx and '1'='1
许多网站有搜索功能,其搜索框可能存 在注入点,注入时需闭合%。
sql中的搜索:
select *from user where name like '%参数%';
#明确请求方法
请求方法有:GET、POST、COOKIE、REQUEST、HTTP头等
GET请求:通过url直接请求
POST请求:通过请求正文进行请求
COOKIE:cookie属于请求头部分,有些网站可通过cookie请求的数据进行注入
REQUEST请求:既可以通过GET请求,也可以通过POST请求
HTTP头:HTTP请求头域中有些参数值可能存在可以访问服务器中数据库中某些信息,可能存在注入
1.GET请求
sqlilabs第5关:

提交无反应,说明参数有有东西,查看源码

发现参数用单引号括起来了,需要闭合。

提交无反应,说明是无回显注入,暂时介绍到这里,后续在讲无回显注入方法。
sqlilabs第6关
第六关仍是无回显


查看源码

发现参数用双引号括起来的,要过滤双引号

2.POST請求
sqlilabs第11关

抓个包试试:

是post请求方法,直接构造post请求方法进行注入

3.COOKIE注入
sqlilabs第20关

被转义,尝试cooki注入:

测试可行。
4.http头注入
sqlilab第18关

显示ip和 User Agent,通过分析源码,这里对uname和passwd参数进行了处理,但是还有两个新的全局变量可控,ip和user-agent:
修改User-Agent内容为xxx,发包:

通过修改User-Agent进行报错注入:

sql注入之类型及提交注入的更多相关文章
- 十四:SQL注入之类型及提交注入
简要明确参数类型 数字,字符,搜索,json等 简要明确请求方法 GET,POST,COOKIE,REQUEST,HTTP头 其中SQL语句干扰符号:' " % ) } 等,具体查看用法 非 ...
- Java开发学习(六)----DI依赖注入之setter及构造器注入解析
一.DI依赖注入 首先来介绍下Spring中有哪些注入方式? 我们先来思考 向一个类中传递数据的方式有几种? 普通方法(set方法) 构造方法 依赖注入描述了在容器中建立bean与bean之间的依赖关 ...
- Sql注入_类型
1.sql注入 通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 2.sql注入类型 按照注入点类型来分类 (1)数字型注入点 在 Web ...
- 常见sql注入的类型
这里只讲解sql注入漏洞的基本类型,代码分析将放在另外一篇帖子讲解 目录 最基础的注入-union注入攻击 Boolean注入攻击-布尔盲注 报错注入攻击 时间注入攻击-时间盲注 堆叠查询注入攻击 二 ...
- Sql注入之注入点类型和是否存在注入判断
SQL注入之判断注入类型注入类型分为数字型和字符型和搜索型例如数字型语句:select * from table where id =3,则字符型如下:select * from table wher ...
- 【技巧总结】Penetration Test Engineer[3]-Web-Security(SQL注入、XXS、代码注入、命令执行、变量覆盖、XSS)
3.Web安全基础 3.1.HTTP协议 1)TCP/IP协议-HTTP 应用层:HTTP.FTP.TELNET.DNS.POP3 传输层:TCP.UDP 网络层:IP.ICMP.ARP 2)常用方法 ...
- SQL注入原理以及怎样避免注入
SQL注入:究竟什么时候会用到SQL呢?回答是訪问数据库的时候.也就是说SQL注入-->直接威胁到了数据源,呵呵.数据库都收到了威胁,站点还能正常现实么? 所谓SQL注入,就是通过把SQL命令插 ...
- 十五:SQL注入之oracle,Mangodb注入
Access,Mysql,mssql,mangoDB,postgresql,sqlite,oracle,sybase JSON类型的数据注入: 键名:键值 {"a":"1 ...
- sql注入--双查询报错注入
sql注入--双查询报错注入 背景:在sqli-labs第五关时,即使sql语句构造成功页面也没有回显出我们需要的信息,看到了有使用双查询操作造成报错的方式获得数据库信息,于是研究了一下双查询的报错原 ...
随机推荐
- 【VBS】获取文件夹大小
文件截图: 运行结果: 第一步:编写脚本 GetFloderSize.vbs 1 '获得文件夹的大小 by 王牌飞行员(https://www.cnblogs.com/KMould/p/1233481 ...
- Java中,一个存在十几年的bug...
今天,分享一个JDK中令人惊讶的BUG,这个BUG的神奇之处在于,复现它的用例太简单了,人肉眼就能回答的问题,JDK中却存在了十几年.经过测试,我们发现从JDK8到14都存在这个问题. 大家可以在自己 ...
- LockSupport中的park()与unpark()
类注释原文:Basic thread blocking primitives for creating locks and other synchronization classes.意思就是Lock ...
- ORA-00937: not a single-group group function
有时候查询会遇到如下错误 SCOTT@PROD> select deptno,sum(sal) from emp; select deptno,sum(sal) from emp ...
- 3、集成springfox-swagger 3.0.0 + 集成knife4j
集成springfox-swagger 3.0.0 + 集成knife4j 1.基本用法 1.1.导入依赖 <!-- web接口 --> <dependency> <gr ...
- redis的基本操作指令
https://www.cnblogs.com/woshimrf/p/5198361.html
- 你知道购买车票的原理吗?Java 线程同步
先看再点赞,给自己一点思考的时间,如果对自己有帮助,微信搜索[程序职场]关注这个执着的职场程序员.我有什么:职场规划指导,技能提升方法,讲不完的职场故事,个人成长经验. 大周末的还是6点起床,起床的第 ...
- netcore3.1 + vue (前后端分离)Excel导入
1.前端(vue)代码 2.公共类ExcelHelper 3.后端(netcore)代码 思路:导入类似于上传,将excel上传后将流转换为数据 1.前端(Vue)代码 这里使用的是ElementUI ...
- B站蹦了,关我A站什么事?
昨天的大瓜,B站蹦了,大伙都跳起来分析了一波异常原因,着实给大伙的秋招准备了一波热乎乎的素材!在大家都在关注 B站的时候, 我大A站终于要站起来了!!!经过多方网友的极力引流,我A站也蹦了- 紧急通知 ...
- vuejs知识总结
1.Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.ViewModel是Vue.js的核心,它是一个Vue实例. <!DOCTYPE html& ...