当前位置: 首页 > news >正文

sql注入流程示例

1,假设你用自己的用户名和密码登录了一个付费网站,网站服务器需要查询一下你是不是VIP用户,服务器通常都是会向数据库进行查询的,因为服务器把用户数据都放在数据库里面了,要向数据库进行增加,删除,修改和查询这些操作,就需要用到SQL这种语言了

2,但问题是如果黑客没有正常输入数据,而是把数据转换成代码,使得服务器向数据库的正向查询变成了不正常的代码执行那么黑客就可以执行自己想要的操作了

3,SQL的语法就很像正常的英语,假设用户输入了用户名和密码后,服务器就会把输入的用户名和密码这两条数据加在WHERE语句里面

4,这看起来是一个正常的操作,但是服务器如果没有过滤用户输入的数据,比方说黑客在用户名最后加上一个单引号就会变成以下:

5,当SQL执行这条语句的时候,会把一对引号里面的视为字符数据,而不是操作符

6,但是这里的引号不成对,因此这条SQL语句是会报错的,如果此时服务器傻傻的把SQL报错的信息直接返回给用户,那么黑客就知道具体是什么原因导致报错了,SQL注入攻击的门就这样被打开了

7,如果我们在单引号后面再加上--事情就不一样了,如果在Mysql里面,系统遇到了这两条横线就会认为后面的内容都是注释,注释是不会被视为代码进行执行的,注释一般是用来给代码进行解释说明的文字,相当于只会执行前面的SQL语句,如果黑客知道用户名,即使不知道密码也可以进行账号登录了

8,那如果黑客连正确的用户名信息都没有,也没关系,因为SQL语句在遇到WHERE关键词的时候会判断条件是真还是假,如果一个条件为真,另外一个条件为假,再用OR(或者)来把这两个条件拼接起来,那么得到的就是真,也就是说黑客只需要再增加一个为真的条件就行了

9,比如1=1,因为1肯定等于1的,所以条件为真,即使用户信息错误,WHERE这里的逻辑判断都是为真,因为这里是OR或者这样的逻辑

10,正因为我们可以注入SQL代码,甚至有些车主会把自己的车牌改成这样子,对交警系统进行了SQL注入,比如车闯红灯,摄像头拍照,放到数据库里面查询这辆车的信息,进行扣分,由于数据库识别到的是DROP DATABASES命令,会将交警系统的数据库进行删除,形成SQL注入

总结:

当web应用向后台数据库传递SQL语句进行数据库操作时。如果对用户输入的参数没有经过严格的过滤处理,那么攻击者就可以构造特殊的SQL语句,直接输入数据库引擎执行,获取修改数据库中的数据,最终到达欺骗服务器执行恶意的SQL命令,从而进一步得到相应的数据信息。

******通过构造一条精巧的语句,来查询到想要得到的信息

SQL注入本质:

把用户输入的数据当成代码来执行了

“数据与代码分离”的原则

关键点:

所有的漏洞都是有条件的!!!

1,用户能够控制输入的内容;比如:如果只能输入数字,那SQL注入不了

2,数据库能够执行用户输入的内容

SQL注入的危害:

盗取网站的敏感信息:用户名,密码,电话,地址......

绕过网站后台认证:万能密码:‘ or 1=1#

admin ‘ or1=1#

注意:只有当SQL注入漏洞存在的时候才能使用

为什么能使用万能密码?

万能密码:select * from users where username=’’‘ or 1=1#and password=’’

因为#代表注释,所以效果变成了这样

select * from users where username=’’‘ or 1=1

SQL注入的分类:

根据反馈结果分类:有回显(显错注入),无回显(盲注)

根据数据类型分类

数字型:输入的参数为整型,如id,年龄,页码等

例:有且仅有0,1,2,3,4,5,6,7,8,9

错误演示:‘1‘这是字符型,因为有单引号

字符型:输入的参数为字符串

数字型与字符型最大的区别:数字型不需要闭合,而字符串型一般需要闭合

SQL注入流程:

1,寻找注入点

*SQL注入

*SQL 和数据库有交互的地方,如果和数据库没交互也不存在SQL注入了

https://so2.4399.com/search/search.php?k=111

总结:当出现?xx=yyy就可能出现SQL注入漏洞

2,判断闭合方式

先判断是数字型还是字符型,数字型不用判断

输入:?id=1abcd

有报错:数字型 无报错:字符型

再判断闭合方式:先尝试单引号,再尝试双引号

?id=1asdf

再看报错:单引号没有报错再加双引号,如果都没有报错大概率没有SQL注入

报错解决:停止更新,替换文件

原因:

正常语句:select * from users where id =$id

当你的id=1时:select * from users where id=1

当你的id=1‘时:select * from users where id=1’’

这时候就会报错,程序不认识,多了一个单引号,程序识别不出来,不知道哪个单引号是系统的

注意:不能用#当注释,因为#在url地址栏相当于锚点

当你的id=1‘ --+时:select * from users where id=1--

?id=1' unlonselect 1,(select table_name from information_schema.tables where table_schema='security'),3 --+

判断数据库版本

注意:mysql数据库5.0版本以下没有information_schema数据库,无法进行手动注入

解释:

information_schema.tables是数据库中保存表信息的系统表。table_schema 字段存放表所属的数据库名(schema)。

where table_schema='security'表明只取属于名为 security 的数据库(或 schema)下的表名。

?id=1' unlonselect 1,(selectgroup_concat(table_name)from information_schema.tables where table_schema='security'),3 --+

?id=1' unlonselect 1,(select group_concat(column_name) from information_schema.columnswhere table_schema='security'andtable_name=users),3 --+

Dvwa靶场:

Pikachu靶场同上

http://www.jsqmd.com/news/345905/

相关文章:

  • MYSQL日志
  • 清洗设备流量测量优选:2026年超声波流量计品牌推荐 - 品牌2025
  • 2026年艺术漆厂家口碑推荐:艺术漆代理/艺术漆加盟/艺术漆代理加盟艺术漆招商 - 品牌策略师
  • 人工智能应用- 语言理解:06.大语言模型
  • 分析金华高性价比的欧美空运小包货代机构排名情况 - myqiye
  • 千匠网络登顶B2B电商软件排名榜首:创新引领产业数字化新纪元 - 圆圆小达人
  • 上海装修公司选择指南+优质企业盘点|避坑选型,适配各类需求 - 博客万
  • 探讨2026年渭南好的电子电竞学校,哪家教学质量优 - mypinpai
  • 2026雅思培训机构前十榜单出炉!选对机构=半只脚踏进梦校 - 品牌测评鉴赏家
  • 无污染超纯水流量测量:2026年值得关注的超声波流量传感器推荐 - 品牌2025
  • 预见2026:镇江鱼头泡饼饭店推荐与品鉴指南 - 2026年企业推荐榜
  • 2026年中国商标律所推荐榜单:聚焦AI时代品牌资产保护,覆盖多场景与合规痛点的五强权威评测 - 十大品牌推荐
  • 面向液冷流量测量应用,2026年高可靠超声波流量传感器品牌推荐 - 品牌2025
  • 分期乐永辉超市卡(生活服务套装)春节回收价格是多少? - 畅回收小程序
  • 2026年汽车音响改装服务价格大揭秘,哈尔滨靠谱品牌推荐 - 工业品网
  • 2026年哈尔滨汽车降噪处理靠谱的公司推荐,性价比超高 - 工业推荐榜
  • 四大新主张,小红书人正重新定义年味
  • 2026年黑龙江车载音响改装服务排名,哪家品牌靠谱又性价比高 - 工业品牌热点
  • 【开题答辩全过程】以 基于Nodejs的网上书店 为例,包含答辩的问题和答案
  • 怎么打造一个能自我进化的制造数字基座?
  • Kinaxis宣布拟尽可能扩大常规发行人回购规模
  • 查询语句存档
  • 【开题答辩全过程】以 基于MyBatis的智慧养老网站为例,包含答辩的问题和答案
  • 星星视频 + 特种作业操作证宝典:娱乐考证两不误的实用工具
  • 人工智能应用- 语言理解:07.大语言模型
  • 2026年广告设计制作公司推荐榜:创意视觉与品牌营销的卓越服务商精选 - 品牌企业推荐师(官方)
  • 龙魂魔法彩蛋机制|隐形水印+唯一标识
  • 2026年铝翅片厂家权威推荐:铝箔/钢管/航空/折弯翅片热交换系统核心元件源头厂家精选 - 品牌推荐官
  • 图片魔法师PMLite|永久免费图片校正漂白工具
  • 2026年离婚纠纷律师联系电话推荐:高胜诉率律师联系方式汇总推荐 - 品牌推荐