SQL注入
文章平均质量分 68
SQL注入类型的
南暮思鸢
一名计算机学院学子
展开
-
stacked queries基于堆叠注入
分开的,堆叠注入就是一次性注入并执行多条语句的注入方式。而union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于 union 或者union all执行的语句类型是有限的,可以用来执行的是查询语句,而堆叠注入可以执行的是任意的语句。(注意:选择-1'的原因是为了确保原始的 WHERE 子句不会匹配任何现有的记录)id=1' and '1'='1,反证法证明确实是单引号字符型注入。1、多语句执行受数据库类型、API、数据引擎的限制,有的不能实现。原创 2024-09-01 10:32:02 · 747 阅读 · 0 评论 -
Time-based基于时间的盲注
时间盲注和布尔盲注很像,区别就是“参照物”的不同,布尔盲注是通过页面的一些变化来进行判断结果,但是有时候,执行一些sql语句的测试,页面不会有像布尔盲注那样直观的变化,这个时候可以在布尔盲注的基础上结合if判断和sleep()函数来得到一个时间上的延迟参照,也就可以让我们进行一些判断,也就是所谓的“时间盲注”,又叫“延时注入”。后面测试出来第一位是s,第二位是e,第三位是u,猜测是security,当然后续也证明了数据库名是security。老样子,猜测username的第一行的第一个字符。原创 2024-08-28 16:36:47 · 500 阅读 · 0 评论 -
字符型注入(get)
看到users表中有username和password两个重要信息的列。(注意:get型的特殊符号会经过url二次编码,所以将#换成%23)说明是单引号闭合的字符型注入。说明字段数是2(即列数是2)说明数据库名是pikachu。可以看到有个users表。输入1'或者1'%23。原创 2024-08-28 16:34:47 · 290 阅读 · 0 评论 -
数字型注入(post)
修改id=1 union select 1,column_name from information_schema.columns where table_schema='pikachu' and table_name='users'#修改id=1 union select user(),table_name from information_schema.tables where table_schema='pikachu'#修改id=1 union select 1,2#修改id=1 and 1=1#原创 2024-08-28 16:33:46 · 258 阅读 · 0 评论 -
基于User-Agent注入
User-Agent:是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。用较为普通的一点来说,是一种向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。这里的错误语句还出现了一串包括IP和账号在内的其他语句,我们可以猜测,系统将该语句拼接到我们注入参数后一并执行。爆出security数据库有emails,referers,uagents,users表,其中users表是我们需要的。爆出数据库名是security。原创 2024-08-28 16:31:24 · 726 阅读 · 0 评论 -
SQL注入概述
SQL注入漏洞主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库注入漏洞。3.还有就是,目前有很多ORM框架会自动使用参数化解决注入问题,但其也提供了”拼接“的方式,所以使用时需要慎重!1.对传进SQL语句里面的变量进行过滤,不允许危险字符传入;一个严重的SQL注入漏洞,可能会直接导致一家公司破产!原创 2024-08-28 15:15:00 · 101 阅读 · 0 评论