![](https://img-blog.csdnimg.cn/20210911155536836.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SQL注入
文章平均质量分 76
3hex___________
嵌入式开发,网络安全,爬虫开发爱好者
展开
-
☆[理论-总结]Web安全-SQL注入-总结01
声明:由于笔者能力有限,难免出现各种错误和漏洞。文中内容为网络收集、个人总结的汇总。主要是为了在初学手工注入时使用。持续更新...一、SQL注入分类以下仅为个人总结:类型 请求方式 注入点(前端) 注入点(后端) 注入方式 整型 GET 参数处 GET参数 select语句中 Union注入(联合注入) POST数据包参数 盲注 Boolean盲注(布尔盲注) 请求头处.原创 2021-09-10 11:14:50 · 848 阅读 · 1 评论 -
[理论-学习]Web安全-SQL注入-基础17
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课一、SQL注入防御手段1. 代码层黑名单、白名单 敏感字符过滤 使用框架的安全查询 规范输出:不能输出SQL相关信息(正确执行,报错等)2. 配置层开启GPC 使用UTF-83. 物理层WAF 数据库审计 云防护 IPS(入侵防御系统)每次层的防御都必不可少。...原创 2021-08-24 10:44:01 · 73 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础16
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less32为实验环境。一、概述宽字节注入,绕过对’(引号)的过滤。二、宽字节注入原理在注入中,系统会将 '(单引号)过滤:将'转为 \' ,导致单引号无法使用。在使用汉字编码时,如果使用GBK编码,会将0x8140-0xFEFE识别为汉字。同时\(反斜杠)的GBK编码为0x5c。我们在\的前面加上一个高位,并且保证范围在...原创 2021-08-24 10:23:59 · 102 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础15
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less27为实验环境。一、概述绕过对select,union的过滤。二、实验(基于GET类型的注入-检测select/union)1. 使用GET方式传入参数2. 测试语句能否报错?id=1'?id=1'2"3可以判断是字符型注入(单引号闭合)。3. 测试语句能否恶意执行(能不报错)?id=1' or .原创 2021-08-23 18:41:52 · 84 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础14
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less26为实验环境。一、概述绕过对空格、and/or、注释的过滤。二、实验(基于GET类型的注入-检测space/and/or/注释)1. 使用GET方式传入参数使用id=1,页面正常发生变化。2. 测试语句能否报错?id=1'?id=1'2"3明显判断为字符型注入(单引号闭合)。3. 测试语句能..原创 2021-08-23 18:08:01 · 111 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础13
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less25为实验环境。一、概述绕过对and/or的过滤。二、实验(基于GET类型的注入-检测and/or)1. 使用GET方式传入参数使用id=1,页面随着发生变化。2. 测试语句能否报错?id=1'?id=1'2"3可以看到报错错误,我们根据报错语句,可以推测出是字符串注入(单引号闭合)。3. ...原创 2021-08-23 17:05:18 · 64 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础12
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less23为实验环境。一、概述绕过对注释的过滤。二、实验(基于GET类型的注入-检测注释符)1. 使用GET方式传入参数使用id=1。可以看到页面发送变化。2. 测试语句能否报错使用id=1',可以发现语句报错,并且可以分析出,SQL语句使用的单引号闭合,是字符类型注入。select columns... f..原创 2021-08-23 11:52:58 · 90 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础11
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less1为实验环境。一、SQL读写文件函数1. load_file(file_name)读取文件,将文件内容作为字符串返回。文件使用'/'作为间隔符。需要满足一下条件:对目标文件有可读权限; 文件在服务器上,不能是网络上的文件; 必须使用绝对路径; 文件大小必须小于max_allowed_packet大小。同时还要保证secur.原创 2021-08-21 11:44:55 · 148 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础10
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less19为实验环境。一、实验(基于POST方式的Referer报错注入)1. 使用POST方式传入参数提交正确的用户名和密码。返回信息中提示Referer的值。我们对Referer进行注入测试。2. 测试语句能否报错http://127.0.0.1:8003/Less-19/11'22"这里可以看出SQL居...原创 2021-08-20 11:45:05 · 85 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础09
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less20为实验环境。一、实验(基于POST方式的Cookie报错注入)cookie注入与其他注入类型,只是注入的位置不同。注入位置在请求头中Cookie位置。1. 使用POST方式传入参数这里的参数使用各种类型,但是页面返回的状态、时间都不变。我们寻找其他注入点。我们使用正确的用户(admin)和密码(admin...原创 2021-08-20 11:06:04 · 83 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础08
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less9为实验环境。一、实验(基于GET方式的字符串时间盲注-单引号)1. 使用GET方式传入参数可以看出,无论id的值为1还是-1,还是一个任意数,页面只返回一个结果。这里就只能使用时间盲注了。2. 记录当前页面正常返回的时间这里大概是2s左右。由于我的系统环境问题,请求很慢,尤其使用了sleep后。我的环...原创 2021-08-19 19:49:01 · 125 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础07
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less8,为实验环境。一、盲注介绍一般分为布尔盲注和延时(时间)盲注。布尔盲注利用的函数主要有ascii和substr。延时盲注利用的函数有if和sleep。布尔盲注适用于页面返回的状态只有两种。延时盲注适用于页面返回的状态没变化,我们需要通过请求返回的时间判断代码是否被执行。1. ascii():用于将字符转为对应的ASCII码..原创 2021-08-19 16:10:16 · 73 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础06
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less14为实验环境。一、双注入使用的函数1. rand函数产生一个0-1直接的随机数。(不含1)rand()*2时,产生一个0-2直接按的随机数(不含2).2. floor()函数对一个数向下取整,即只取数字的整数部分(不进行四舍五入)。3. floor()和rand()floor(rand()*2)将随机产...原创 2021-08-18 10:47:54 · 197 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础05
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less11为实验环境。一、报错注入使用的函数1. extractvalue(String XML_document,String Xpath_string)从目标XML中取出Xpath查询的字符串。2. updatexml(String XML_document,String Xpath_string, String new_value).原创 2021-08-17 22:06:11 · 132 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础04
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less11,12为实验环境。一、实验(POST类型的基于报错的字符型注入-单引号)1. 使用POST方式传入参数输入的uname和passwd能影响页面显示。2. 测试语句能否报错使uname=1‘,能报错。可以看出passwod使单引号闭合。但是报错的语句很难看出uname用什么闭合。使uname=1’“,爆出un.原创 2021-08-17 20:35:45 · 147 阅读 · 0 评论 -
[实战]Web安全-SQL注入-01
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:EasyTalk v2.4(微博客),FireFox一、环境搭建1. 使用phpstudy(v2016)搭建环境,下载EasyTalk(v2.4)的压缩包,部署安装即可。2. 安装完成,我们注册一个账户。用户:hack,密码:pH@{|<登陆后,发布一条广播。二、SQL注入再[ 广场->微话题]中存在注入漏洞。1. ...原创 2021-08-16 18:43:34 · 210 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础03
声明:由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。笔记内容来源于各类网课。环境:以Sqli-labs中的less01,03,04为实验环境。一、实验(GET类型的基于报错的字符型注入-单引号)Sqli-labs less-01:1. 使用GET方式传入参数id的变化,会导致页面发生相应的变化。2. 测试语句能否报错我们输入id=3',数据库报错,并且可以看出SQL语句的条件语句为单引号闭合。可以判断为字符型注入(...原创 2021-08-16 16:09:39 · 147 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础02
一、SQL注入的分类1. 按照请求方法分类 GET型注入,POST型注入。2. 按照SQL数据类型分类 整形注入,字符型注入。 更具SQL语句中后面的条件语句where的类型。3. 按照其他的数据类型分类 报错注入,双注入,时间盲注,布尔盲注,Cookie注入,User-Agent注入。 报错注入:后端SQL语句执行报错,显示在了前端页面。 双注入:使用了两个select语句。 ...原创 2021-08-16 11:25:47 · 186 阅读 · 0 评论 -
[理论-学习]Web安全-SQL注入-基础01
一、SQL的介绍1. SQL(Structured Query Language)即结构化查询语言。最早使用在System R中,后来逐渐推广为一个规范。2. SQL的分类: DQL(Query):Select DML(Manual):Insert,Update,Delete DDL(Define):Create,Drop,Alert DCL(Control):rant,Revoke,Commit二、SQL注入基础1...原创 2021-08-15 17:09:33 · 206 阅读 · 0 评论