攻击原理
sql注入危害概述
只要前段与数据库有交互的都有可能出现问题
SQL 注入式攻击技术,一般针对基于 Web 平台的应用程序或者APP程序
由于程序员在编写 Web 程序时,没有对浏览器端提交的参数进行严格的过滤和判断。
用户可以修改构造参数,提交 SQL 查询语句,并传递至服务器端,
从而获取想要的敏感信息,甚至执行危险的代码或系统命令。
注射式攻击的原理
注射式攻击的根源在于,程序命令和用户数据(即用户输入)之间没有做到泾渭分明。
这使得攻击者有机会将程序命令当作用户输入的数据提交给 Web 程序,以发号施令,
为所欲为(注:注入最终是数据库,与脚本、平台无关)。
总结:注入产生的原因是接受相关参数未经处理直接带入数据库查询操作
三件准备工作
为了发动注射攻击,攻击者需要在常规输入中混入将被解释为命令的“数据”
,要想成功,必须要做三件事情:
确定 Web 应用程序所使用的技术
注射式攻击对程序设计语言或者硬件关系密切,
但是这些可以通过适当的踩点或者索性 将所有常见的注射式攻击都搬出来逐个试一下就知道了。
为了确定所采用的技术,攻击者可 以考察 Web 页面的页脚,查看错误页面,
检查页面源代码,或者使用诸如 Nessus、AWVS、 APPSCAN 等工具来进行刺探。
确定所有可能的输入方式
Web 应用的用户输入方式比较多,其中一些用户输入方式是很明显的,如 HTML 表单;
另外,攻击者可以通过隐藏的 HTML 表单输入、HTTP 头部、cookies、甚至对用户不可见的 后端AJAX 请求来跟 Web 应用进行交互。
一般来说,所有 HTTP 的 GET 和 POST 都应当作用户输入。
为了找出一个 Web 应用所有可能的用户输入,我们可以求助于 Web 代理,如 Burp 等。
查找可以用于注射的用户输入
在找出所有用户输入方式后,就要对这些输入方式进行筛选,找出其中可以注入命令的那些输入方式。
这个任务好像有点难,但是这里有一个小窍门,那就是多多留意 Web 应用的错误页面,
很多时候您能从这里得到意想不到的收获
经典万能密码原理(想起一张表情包)
经典 OR 漏洞原理解析
SELECT * FROM admin WHERE Name=’ 'or 1=1–
--为注释后面内容 针对asps 不同语法注释不同
详细请看: http://chengkers.lofter.com/post/14c64b_379726