注入攻击的本质,是把用户输入的数据当做代码执行。这里有两个关键条件:
第一个是,用户能够控制输入
第二个是原本程序要执行的代码,拼接了用户输入的数据
7.1 SQL注入
在SQL注入的过程中,如果网站的web服务器开启了错误回显,则会为攻击者提供极大的便利。错误回显披露了敏感信息,对于攻击者来说,构造SQL注入的语句就可以更加得心应手了。
Microsoft Office Access
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了MIC荣soft JET Database Engine和图形用户界面两项特点,是Microsoft Office的系统程序之一。
Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员,在包括专业版和更高版本的office版本里面被单独出售。2018年9月25日,最新的微软Office Access 2019在微软Office 2019里发布。
MS ACCESS以它自己的格式将数据存储在基于Access Jet的数据库引擎里。它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)
软件开发人员和数据架构师可以使用Microsoft Access开发应用软件。“高级用户”可以使用它来构建软件应用程序。和其他办公应用程序一样,ACCESS支持Visual Basic宏语言,它是一个面向对象的编程语言,可以引用各种对象,包括DAO(数据访问对象),ActiveX数据对象,以及许多其他的ActiveX组件。可是对象用于显示表和报表,他们的方法和属性是在VBA编程环境下,VBA代码模块可以声明和调用Windows操作系统函数。
7.1.1 盲注(Blind Injection)
但很多时候,web服务器关闭了错误回显。攻击者为了应对这种情况,研究出了“盲注”的技巧。
所谓“盲注”,就是在服务器没有错误回显时完成的注入攻击。服务器没有错误回显,对于攻击者来说缺少了非常重要的“调试信息”,所以攻击者必须找到一个方法来验证注入的SQL语句是否得到执行。
最常见的盲注验证方法是,构造简单的条件语句,根据返回页面是否发生变化,来判断SQL语句是否得到执行。
可以说是某个参数存在SQL注入漏洞
7.1.2 Timing Attack
时序攻击属于侧信道攻击/旁路攻击(side channel attack),侧信道攻击是指利用信道外的信息,比如加解密的速度/加解密时芯片引脚的电压/密文传输的流量和途径等攻击的方式,一个词形容就是“旁敲侧击”
举一个最简单的计时攻击的例子,某个函数负责比较用户输入的密码和存放在系统内密码是否相同,如果该函数是从第一位开始比较,发现不同就立即返回,那么通过计算返回的速度就知道了大概是哪一位开始不同的,这样就实现了电影中经常出现的按位破解密码的场景。密码破解复杂度成千上万倍,甚至百万千万倍的下降。
以上两段为转载内容
作者:输了就掀桌子QAQ
来源:优快云
原文:https://blog.youkuaiyun.com/terry198608/article/details/80192427
版权声明:本文为博主原创文章,转载请附上博文链接!
7.2 数据库攻击技巧
找到SQL注入漏洞,仅仅是一个开始。要实施一次完整的攻击,还有许多事情需要做。
SQL注入是基于数据库的一种攻击。不同的数据库有着不同的功能、不同的语法和函数,因此针对不同的数据库,SQL注入的技巧也有所不同。
7.2.1 常见的攻击技巧
给出破解数据库版本、表名、列名、username/passwd具体值的办法
sqlmap
给出读写文件的技巧,要求当前mysql用户有相应权限