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

sql注入语句学习

说明

注入漏洞作为登顶过web十大漏洞多次的漏洞,危害性不言而喻,其中sql注入就是注入漏洞常用的手段。其形成的原因是由于web在接收传参数据时,对数据的过滤不够严格,将其带入到数据库查询中,导致用户可以通过传参一些sql语句来对数据库进行查询,修改等操作。传参的sql语句通过拼接后执行。

这边看了一个博客,结合他的办法实际验证一下拼接的方式,我们用sqli—labs来实验,先修改一下第一关的源码,显示出执行的sql语句

我们输入id=1看看执行的sql语句是什么

可以看到一个sql语句被执行了,尝试一下id=2

可以看到爆出来了一个账号密码,可以继续去尝试id=3、4、5....会发现由不同的账号密码,现在我们尝试单引号闭合

可以看到报错了,去看sql语句可以看到1后面有一个单引号落空了,在sql语句中单双引号都是要成对出现的,所以这边报错了,验证一下我们传参id=1''

没有报错,为了方便理解我们再加上一组对比,传参id

那么现在可以清楚的知道了他的拼接情况。

最后是注释和恒真假效果

?id=1' and 1=1--+

1=1恒真也可以写成2=2或a=a等类似格式,其作用是确保注入后的 SQL 语句逻辑成立,从而验证注入点或绕过某些防护规则,可测试注入是否成功(若页面正常显示,则存在注入漏洞)。也有1=2恒假条件,可以通过这个判断是否有注入漏洞,但不能直接获取数据,需要加上其他的回显手段来获取数据。

--+这是一种闭合手段,也有其他的闭合手段例如#等等可以用于其他的注入情境,这边就不多说了,--+中--是注释符号,+在url是空格的编码被编译成空格,确保注释符号生效。添加注释符号的目的是将后面自带的语句注释掉,确保我们传参的语句语法格式正确。

整个sql语句SELECT * FROM users WHERE id='2' -- ' LIMIT 0,1如果没有加注释的话是users表中选取id2的记录,不过只返回符合条件的第一条记录,所以我们加上注释符可以显示users表中所有id为2的记录,limit 0,1的作用是从行号0开始往下面搜索,只返还一条id=2的数据。

总之sql注入的目的是为了获取一些数据或者修改数据库的一些数据等等,是针对数据库的一种攻击手段,我们通过传参sql语句确保它绕过验证,执行成功。


文章转载自:
http://bitch.elldm.cn
http://acidophilic.elldm.cn
http://buttonholder.elldm.cn
http://blaze.elldm.cn
http://befrogged.elldm.cn
http://allpowerful.elldm.cn
http://adjutantship.elldm.cn
http://adulate.elldm.cn
http://brawler.elldm.cn
http://caique.elldm.cn
http://calif.elldm.cn
http://avidity.elldm.cn
http://aaup.elldm.cn
http://anamorphic.elldm.cn
http://androcentrism.elldm.cn
http://ablebodied.elldm.cn
http://agrobiology.elldm.cn
http://bridget.elldm.cn
http://bennery.elldm.cn
http://cccs.elldm.cn
http://aftersound.elldm.cn
http://bourgeoisify.elldm.cn
http://chancel.elldm.cn
http://affray.elldm.cn
http://breaststroke.elldm.cn
http://alchemistic.elldm.cn
http://chargeable.elldm.cn
http://acanthopterygian.elldm.cn
http://aborigines.elldm.cn
http://belgrade.elldm.cn
http://www.dtcms.com/a/97197.html

相关文章:

  • 双塔模型3之线上召回与模型更新
  • MySQL基础语法DDLDML
  • 嵌入式开发场景中Shell脚本执行方式的对比
  • [ComfyUI] ComfyUI-Custom-Scripts 插件介绍与优化功能解析
  • Nginx多域名HTTPS配置全攻略:从证书生成到客户端安装
  • 什么是项目可行性研究中的辅助(功能)研究?
  • MySQL高级语句深度解析与应用实践
  • 时尚界正在试图用AI,创造更多冲击力
  • C语言基础:第10天笔记
  • LeetCode 2711.对角线上不同值的数量差:O(mn)时间O(1)空间 - 位运算优化 - C++/Go双百版本 - 三种方法(一步步优化)
  • Axios核心原理
  • Python与文件——保存文件
  • 微软Copilot与向量数据库:智能化办公的技术架构与实现路径
  • 李宏毅机器学习笔记(1)—机器学习基本概念+深度学习基本概念
  • 软件工程面试题(六)
  • 解决linux centos ubuntu等无法启动谷歌chrome浏览器问题
  • HarmonyOS NEXT——【鸿蒙相册图片以及文件上传Picker封装】
  • Stereolabs ZED Box Mini:NVIDIA Orin™驱动,双GMSL2输入,智能机器视觉AI新选择”
  • android studio调试aosp手机userdebug版本无法查看局部变量和参数问题如何解决?
  • 【从零实现Json-Rpc框架】- 项目实现 -抽象消息类实现篇
  • Uni-app入门到精通:subPackages节点为小程序的分包加载配置
  • 实现金蝶与钉钉无缝对接以高效管理银行账号信息
  • 人脸识别新规落地,“多模态认证”将成常态
  • 每日一题之日期统计
  • 为什么大模型在 OCR 任务上表现不佳?
  • 包络解调在故障诊断中的应用-广义检波解调案例
  • 架构师面试(二十二):TCP 协议
  • PDF处理控件Spire.PDF系列教程:使用 JavaScript 在 React 中将 PDF 转换为 HTML
  • java八股文之企业场景
  • rv1106抓h264流