SQL注入初探

灵魂三问

  • 所有点都考虑到了吗
  • 真的懂每一种注入原理了吗
  • 真的会利用这种漏洞了吗

SQL注入

定义

通过将恶意的sql查询或添加语句插入到应用的输入参数中,再在后台sql服务器上解析执行进行的攻击


满足条件

  • 要有参数值的传递(url的GET请求时、注册、留言板等)
  • 参数值可控
  • 带入数据库执行

威胁

  • 猜解后台数据库
  • 绕过认证,例如绕过验证登录网站后台
  • 注入可以借助数据库的存储过程进行提权等操作(通过一句话写入shell)

常见的数据库介绍

access数据库

属于Microsoft公司,access只有一个库,若干张表,此数据库一般用于中小学网站。

查看access数据库

可以安装office套件进行查看、或通过别的工具:DbView、Easy Acess等


mysql数据库

两大特点:开源且免费

mssql数据库

安装教程:https://jingyan.baidu.com/article/948f592434b407d80ef5f97d.html

权限介绍:

  • sa权限:数据库操作,文件管理,命令执行,注册表读取等
  • db权限:文件管理数据库操作等
  • public权限:数据库操作
    补充说明:
    sa权限相当于系统权限;db权限相当于超级管理员权限;public权限相当于测试账户

判断权限的语句

  • and 1=(select is_srvrolemember('sysadmin'))
  • and 1=(select is_srvrolemember('db_owner'))
  • and 1=(select is_srvrolemember('public'))

oracle数据库

属于oricle公司,用于大型网站(一般物流和旅游网站)


postgresql数据库

在国外处于主流地位

原文地址:https://www.cnblogs.com/ceiling-/p/14400146.html