概念:脚本注入也叫数据库注入,SQL注入(SQL ingection)是通过把SQL命令插入Web表单递交或输入域名,页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令的一种攻击方式。
脚本注入产生的根本原因是因为数据库与脚本系统的交互审核不严,而脚本注入的原理就是通过脚本系统来提交特定的数据库查询语言,达到获取数据库查询,修改,更新,删除权限的一
个过程。
注入典型流程;判断脚本系统-->发现注入点,扫描注入漏洞-->特殊注入点的判断-->判断数据库类型-->判断数据库中的表结构-->判断数据库中的字段结构-->构造注入语句进行注入-->寻找管理员后台地址登陆,并获得脚本系统完全管理权限。
接着可能有其他步骤:通过后台获得WebShell-->获得整个服务器文件目录-->下载整个数据库内容-->修改服务器注册表-->利用数据库功能导入木马(或者WebShell)并远程控制服务器-->创建服务器管理员权限账号。
(1)判断脚本系统就是判断系统运行的什么代码,比如Asp,php,jsp等等。
(2)手工或者通过黑客工具,对站点进行脚本扫描,并找出注入漏洞或者注入点。只要带参数的动态网页,并且网页访问了数据库,那么就可能存在SQL注入。
(3)特殊注入点的判断,有些脚本系统过滤了单引号等字符,以防御注入,如果遇到这种情况,恶意攻击者将会用以下方式测试,unicode转换和ASCII码转换。
(4)判断数据库类型,利用数据库服务器的系统变量进行数据库判断。利用系统表进行数据库判断。
(5)判断数据库中的表结构。
(6)猜测用户名的长度,然后猜测具体的字符。
(7)寻找后台管理地址。常见的admin/index.asp,admin/login.asp manage/index.asp,manage/login.asp等
(8)通过后台获得WebShell