OpenRASP Documents (Old)
  • 简介
  • 安装部署
    • 兼容性说明
    • 安装管理后台
    • 快速接入
      • PHP 服务器
      • Tomcat 服务器
      • JBoss 服务器
      • Wildfly 服务器
      • Resin 服务器
      • Jetty 服务器
      • Spring Boot 框架
      • WebLogic 服务器
      • WebSphere 服务器
      • 宝兰德BES服务器
      • 东方通TongWeb服务器
      • 中创InforSuiteAS服务器
      • 普元PAS服务器
    • 安装测试用例
    • 安装灰盒扫描工具
      • IAST 高级配置选项
    • SIEM 系统集成
      • Splunk
      • Logstash
    • 大规模部署
    • 卸载软件
  • 服务配置
    • 日志说明
    • 管理后台
    • 单机版本
    • 其他配置
  • 功能说明
    • 攻击检测能力说明
    • CVE 漏洞覆盖说明
    • 安全基线检查
    • 应用加固支持
    • 应用异常监控
    • 类库信息查询
    • HTML 响应修改
  • 插件开发
    • 开发插件
    • 接口说明
      • RASP 类接口
      • Context 类接口
    • 参数说明
    • 单元测试
    • 在线调试
    • 官方插件定制
  • 二次开发
    • 架构说明
      • Java 版本
      • PHP 版本
      • 管理后台
      • IAST 扫描器
      • Hook 函数列表
    • 从源代码编译
      • Java 版本
      • PHP 版本
      • 管理后台
    • 云控后台接口
    • 代码调试
    • 添加新的Hook点
    • 添加新的插件API
    • 提交你的代码
  • 性能测试
  • 版本变更
  • 关于我们
Powered by GitBook
On this page
  • 功能说明
  • FAQ
Export as PDF
  1. 功能说明

HTML 响应修改

功能说明

为了防御/检测某些漏洞,CSRF、后台盲打等等,OpenRASP 允许你在 页面末尾 上注入代码,e.g

<!-- Added by OpenRASP -->
<script type="text/javascript">
	alert('Hello from OpenRASP - https://rasp.baidu.com');
</script>
<!-- End added by OpenRASP -->

要注意的是,只有在当满足如下条件时,OpenRASP 才会插入HTML

  • 页面响应的 Content-Type 为 text/html,且状态码为 200

  • 响应是动态生成的,比如 JSP 文件或者 Servlet

  • inject.urlprefix 配置选项不为空

  • 要注入的内容,aka <app_home>/rasp/assets/inject.html 存在且内容不为空

另外,如果你使用的是自动化安装包,我们在默认生成的 openrasp.yml 配置文件里,禁用了这个功能

hooks.ignore: http_output

你需要手动注释掉 hooks.ignore 这一行,才能开启这个功能

自定义插入的 HTML

  1. 你需要配置 inject.urlprefix 选项,设置要匹配的URL前缀,e.g http://www.baidu.com/admin/

  2. 编辑 <app_home>/rasp/assets/inject.html 文件,输入你要插入的内容,e.g

<!-- Added by OpenRASP -->
<script type="text/javascript">
	alert('Hello from OpenRASP - https://rasp.baidu.com');
</script>
<!-- End added by OpenRASP -->

OpenRASP 会监控这个文件,保存后立刻生效

关闭响应修改功能

删除 <app_home>/rasp/assets/inject.html 文件,删除后立即生效

状态检查

访问一个 JSP 或者 Servlet 页面,检查注入的内容是否存在即可。

注意: 浏览器可能有缓存,建议清掉缓存测试

FAQ

1. 我修改了 inject.html,总要重启服务器才会生效

如果你是在 VMWare 虚拟机里测试 OpenRASP,然后插件是放在 VMWare 共享 里的,这个时候 inotify 可能不会生效,也就无法实时更新 js 脚本。

这可能是因为 vmhgfs 跟 inotify 本身存在兼容性问题。最快的解决方法,就是将整个服务器软件都复制到虚拟机的磁盘上,比如 /root/tomcat/

Previous类库信息查询Next插件开发

Last updated 11 days ago