脚本注入与防注入核心技术
注:文章为学习黑客Web脚本攻击与防御技术核心剖析所记录的笔记。无意于侵犯作者版权。
脚本注入,也叫表单注入,SQL注入(SQL Injection),是通过SQL命令插入Web表单递交或输入域名,页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令的一种攻击方式。
旁注:一种脚本注入方法,字面解释是“从旁注入”。它利用同一主机上面的不同的网站漏洞得到Webshell,从而利用主机上的程序或者服务所暴漏的用户所在的物理路径进行入侵。
注入典型流程
1.判断脚本系统
2.发现注入点,扫描注入漏洞
3.判断数据库类型
4.判断数据库中的表结构
5.判断数据库中的字段的结构
6.构造注入语句进行注入
7.寻找管理员后台地址登录,并获得脚本系统完整管理权限
Extend:
1.通过后台获得WebShell
2.获得整个服务器的文件目录
3.下载整个数据库的内容
4.修改服务器注册表
5.利用数据库功能导入木马(或WebShell)并远程控制服务器
6.创建服务器管理员权限账户
脚本注入后续攻击:
通过后台获得WebShell
获得整个服务器文件目录
攻击者利用扩展存储过程,采用遍历系统目录结构的方法,可以轻松的获得整个服务器的文件目录
MicroSoft SQL Server常见扩展存储过程和功能:
Xp_cmdshell 扩展存储过程,功能是可以直接执行系统的CMD命令。
Xp_servicecontrol扩展存储过程,功能是允许用户启动停止服务。
Xp_availablemedia扩展存储过程,功能是显示服务器上的驱动器。
Xp_dirtree扩展存储过程,功能是列举服务器上的ODBC数据源。
Xp_loginconfig扩展存储过程,功能是获得服务器上的安全信息。
Xp_makecab扩展存储过程,功能是允许用户在服务器上创建一个压缩文件。
Xp_ntsec_enumdomains扩展存储过程,功能是列举服务器可以进入的域。
Xp_terminate_process扩展存储过程,功能是提供进程ID后然后终止。
下载整个数据库内容
修改服务器注册表
利用数据库功能导入木马或WebShell远程控制服务器
创建服务器管理员权限账户