欢迎光临
我们一直在努力

WEB篇:第一步认识并走进SQL注入

一、注入

        定义:  将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS 注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据
        注入能导致数据丢失破坏泄露给 无授权方,缺乏可审计性或是拒绝服 务。注入有时甚至能导致主机被完全接管, 所以注入攻击的本质:就是把用户输入的数据当做代码执行(过于信任用户)

        随着B/S模式被广泛的应用,用这种模式编写应用程序的程序员也 越来越多,但由于开发人员的水平和经验参差不齐,相当一部分的开发人员在编写代码的时候,没有对用户的输入数据或者是页面中 所携带的信息进行必要的合法性判断,导致了攻击者可以提交一段 数据库查询代码,根据程序返回的结果,获得一些他想得到的数据。 这样就产生了被称为数据库的注入攻击SQL注入攻击
        危害: 数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。 网页篡改:通过操作数据库对特定网页进行篡改。网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。 数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。破坏硬盘数据,瘫痪全系统。一些类型的数据库系统能够让SQL指令操作文件系统,这使得SQL注入的危害被进一步放大。
        在进行接下来的学习之前, 可以先复习一下前面的内容

二、常见参数

  • user():当前数据库用户
  • database():当前数据库名
  • version():当前使用的数据库版本
  • @@datadir:数据库存储数据路径
  • concat():联合数据,用于联合两条数据结果。如 concat(username,0x3a,password)
  • group_concat():和 concat() 类似, 如 group_concat(DISTINCT+user,0x3a,password),用于把多条数据一次注入出来
  • concat_ws():用法类似
  • hex() 和 unhex():用于 hex 编码解码
  • ASCII():返回字符的 ASCII 码值
  • CHAR():把整数转换为对应的字符
  • load_file():以文本方式读取文件,在 Windows 中,路径设置为 \\\\
  • select xxoo into outfile \’路径\’:权限较高时可直接写文件

  • payload即我们要输入的sql查询语句

三、靶场及工具准备

  • SQL_LAB靶场搭建教程
  • DVWA靶场搭建
  • 一般出现问题的原因就是phpstudy的php版本不能过高,使用php5.4.45,数据库使用5.7.26的版本就好
  • SQLMAP的下载安装和使用(Windows)_sqlmap下载-CSDN博客
  • hackbar2.1.3 安装教程(附下载地址 )Firefox & Chrome-CSDN博客
赞(0)
未经允许不得转载:171主机测评 » WEB篇:第一步认识并走进SQL注入
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址