Web安全-初识SQL注入(一)

这篇具有很好参考价值的文章主要介绍了Web安全-初识SQL注入(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、初识SQL注入

1.1、什么是注入?

将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS 注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据。

注入能导致数据丢失、 破坏或泄露给无授权方,缺乏可审计性或是拒绝服务。注入有时甚至能导致主机完全被接管。 注入攻击的本质:就是把用户输入的数据当做代码执行。(过于信任用户)

1.2、什么是SQL注入?

SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的入侵行为。

Web安全-初识SQL注入(一)

(图片来源网络)

1.3、SQL注入产生的原因

随着B/S模式被广泛的应用,由于没有对用户的输入数据或者是页面中所携带的信息进行的合法性校验,导致了攻击者可以提交一段数据库查询代码,根据程序返回的结果,获得一些Ta想得到的数据。被称为数据库的注入攻击(SQL注入攻击)。

也就是数据与代码未严格分离;用户提交的参数数据未做充分检查过滤就被代入到SQL命令中,改变了原有SQL命令的“语义”,且成功被数据库执行。

1.4、SQL注入的危害

包括但不局限于:

  • 数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。
  • 网页篡改:通过操作数据库对特定网页进行篡改。
  • 网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。
  • 数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。
  • 服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。
  • 破坏硬盘数据,瘫痪全系统。
  • 一些类型的数据库系统能够让SQL指令操作文件系统,这使得SQL注入的危害被进一步放大。

1.5、SQL注入在渗透中的利用

  • 绕过登录验证:使用万能密码登录网站后台等。
  • 获取敏感数据:获取网站管理员帐号、密码等。
  • 文件系统操作:列目录,读取、写入文件等。
  • 注册表操作:读取、写入、删除注册表等。
  • 执行系统命令:远程执行命令。

2、如何挖掘SQL注入

2.1、常见SQL注入流程

Web安全-初识SQL注入(一)

2.2、SQL注入漏洞分类

2.2.1、按数据类型

可分为:数字型(Integer)和字符型(String)

2.2.2、按返回结果

可分为:显错注入(Error-Based)和盲注(Boolean/Time-Based Blind)

2.3、可能存在SQL注入的地方

  • 最普遍的注入漏洞是由于参数值过滤不严导致的。
  • Cookie注入漏洞普遍存在于ASP的程序中。
  • 参数名、目录名、文件名等注入漏洞通常存在于有网站路由的程序中。

2.4、SQL注入测试思路

步骤 盲注 联合查询注入
1 判断是否存在注入,注入是字符型还是数字型 判断是否存在注入,注入是字符型还是数字型
2 猜解当前数据库名 猜解SQL查询语句中的字段数
3 猜解数据库中的表名 确定显示的字段顺序
4 猜解表中的字段名 获取当前数据库
5 猜解数据 获取数据库中的表

2.4.1、判断是否存在SQL注入

Web安全-初识SQL注入(一)

(图片来源网络)

3、总结与题外话

本文先简单介绍SQL注入,后续会还详细介绍SQL注入一些POC、思路和靶场实验。《跟我学网安知识》系列我停更了2周多了共16天,原因有多方面,一方面我自己学网安课作业和靶场实验比较花费时间,另一方面我工作上有变动,在准备面试Java相关知识。

打个小小求职广告:Base厦门,Java高级开发,我擅长需求分析和较强的文档能力,有跨部门推动项目从0到1交付上线的经验,也有架构相关工作经历。如果有合适的岗位推荐请私信给我,非常感谢。文章来源地址https://www.toymoban.com/news/detail-747872.html

到了这里,关于Web安全-初识SQL注入(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《Web安全基础》03. SQL 注入

    本系列侧重方法论,各工具只是实现目标的载体。 命令与工具只做简单介绍,其使用另见《安全工具录》。 靶场使用 SQLi-Labs。详情参见《WriteUp:SQLi-Labs》 SQL 注入非常复杂,区分各种数据库类型,提交方法,数据类型等注入。此类漏洞是 WEB 安全中严重的漏洞,学习如何利

    2024年02月14日
    浏览(32)
  • Web安全:SQL注入漏洞测试.

    SQL注入就是 有些 恶意用户在提交查询请求的过程中 将SQL语句插入到请求内容 中,同时程序的本身对用户输入的内容过于相信, 没有对用户插入的SQL语句进行任何的过滤 ,从而 直接被SQL语句直接被服务端执行 ,导致数据库的原有信息泄露,篡改,甚至被删除等风险。 SQL注

    2024年02月05日
    浏览(56)
  • Web安全-SQL注入常用函数(二)

    ★★实战前置声明★★ 文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 初始化安装MySQL数据库后(基于MySQL版本5.7.x),默认会创建4个系统数据库: 以下内

    2024年01月19日
    浏览(53)
  • Web安全之SQL注入绕过技巧

    两个空格代替一个空格,用Tab代替空格,%a0=空格:   最基本的绕过方法,用注释替换空格: 使用浮点数: 如果空格被过滤,括号没有被过滤,可以用括号绕过。 在MySQL中,括号是用来包围子查询的。因此,任何可以计算出结果的语句,都可以用括号包围起来。而括号的两

    2024年02月07日
    浏览(44)
  • [08001] [Microsoft][ODBC Driver 18 for SQL Server]SSL 提供程序: 证书链是由不受信任的颁发机构颁发的

    这一错误常出现在使用新版数据库客户端时。 在链接字符串添加 TrustServerCertificate=yes , 注意用 ; 分隔。 例如在python中: 加密使用的是数据库上的证书。这个证书需要通过证书机构的验证,除非设置了信任证书的属性( SQL_COPT_SS_TRUST_SERVER_CERTIFICATE , SQL_TRUST_SERVER_CERTIFICATE_YES )

    2024年02月12日
    浏览(55)
  • web安全漏洞-SQL注入攻击实验

    实验目的 学习sql显注的漏洞判断原理 掌握sqlmap工具的使用 分析SQL注入漏洞的成因 实验工具 sqlmap是用python写的开源的测试框架,支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase,SAP,MAXDB并支持6种SQL注入手段。 实验内容 SQL注入(SQL I

    2024年02月06日
    浏览(56)
  • 加强Web应用程序安全:防止SQL注入

    数据库在Web应用程序中存储和组织数据时起着至关重要的作用,它是存储用户信息、内容和其他应用程序数据的中央存储库。而数据库实现了高效的数据检索、操作和管理,使Web应用程序能够向用户提供动态和个性化的内容。然而,数据库和网络应用程序之间的通信不畅可能

    2024年02月14日
    浏览(44)
  • TP6连接SQL SERVER “SQLSTATE[08001]: [Microsoft][ODBC Driver 18 for SQL Server]SSL 提供程序: 证书链是由不受信任的颁发机构

    安装驱动后连接显示:“SQLSTATE[08001]: [Microsoft][ODBC Driver 18 for SQL Server]SSL 提供程序: 证书链是由不受信任的颁发机构颁发的。” 因为thinkPHP文档里面没有,没想到直接把连接属性添加到数据库配置里面居然也可以,方法如下: 需要在TP6的database.php里面的连接属性添加:

    2024年02月12日
    浏览(51)
  • Web安全:SQL注入漏洞测试(防止 黑客利用此漏洞.)

    SQL注入就是 有些 恶意用户在提交查询请求的过程中 将SQL语句插入到请求内容 中,同时程序的本身对用户输入的内容过于相信, 没有对用户插入的SQL语句进行任何的过滤 ,从而 直接被SQL语句直接被服务端执行 ,导致数据库的原有信息泄露,篡改,甚至被删除等风险。 SQL注

    2024年02月13日
    浏览(40)
  • Web安全 SQL注入漏洞测试.(可以 防止恶意用户利用漏洞)

    SQL注入就是 有些 恶意用户在提交查询请求的过程中 将SQL语句插入到请求内容 中,同时程序的本身对用户输入的内容过于相信, 没有对用户插入的SQL语句进行任何的过滤 ,从而 直接被SQL语句直接被服务端执行 ,导致数据库的原有信息泄露,篡改,甚至被删除等风险。 SQL注

    2023年04月20日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包