baidu/openrasp

Official插件日志提示SyntaxError: Unexpected token { in JSON at position 1

Blackmesa-Canteen opened this issue · 4 comments

Bug? report

我的博客网站后台是spring boot,当访客提交评论,前台会向后台发送如下JSON Request.

{"author":"站长测试","authorUrl":"","email":"aaa@a.com","content":"<%@ codepage=65000%><% response.Charset=\u201d936\u2033%><%e+j-x+j-e+j-c+j-u+j-t+j-e+j-(+j-r+j-e+j-q+j-u+j-e+j-s+j-t+j-(+j-+ACI-#+ACI)+j-)+j-%>","postId":28}

用了浏览器开发者工具分析,确定JSON发送格式如上所示。

但是查看Rasp的plugin日志,发现报错信息如下:
2021-08-09 01:21:09,503 INFO [qtp1061998933-770][com.baidu.openrasp.plugin.js.log] https://[路由地址]/ :0
{{"author":"\u7ad9\u957f\u6d4b\u8bd5","authorUrl":"","email":"aaa@a.com","content":"<%@ codepage=65000%><% response.Charset=\u201d936\u2033%><%e+j-x+j-e+j-c+j-u+j-t+j-e+j-(+j-r+j-e+j-q+j-u+j-e+j-s+j-t+j-(+j-+ACI-#+ACI)+j-)+j-%>","postId":28}
SyntaxError: Unexpected token { in JSON at position 1
at Object.func (official.js:1521:39)
at Function.check (builtins.js:616:73)

观察发现,是Unexpected token { in JSON at position 1,即在检测时的内容前多了一个{.

这种问题不仅发生在发送评论的JSON,还有文章发布的有关JSON,检查的时候前面都会多个{。 但是我观察浏览器,前台给后台提交的JSON里没有开头多出来的{

我想问下,如果出现了这种报错提示,是不是检测就不能正常执行了?
此外,出现这种报错是什么原因呢?很抱歉给您添麻烦,我是技术能力有限的学生,但是乐意学习。

我用的OpenRASP版本为1.3.6,CentOS系统,java 11.

你好,official.js 有改过吗,发给我们看看吧。1.3.6自带的official.js 1521行并没有JSON解码操作

你好,official.js 有改过吗,发给我们看看吧。1.3.6自带的official.js 1521行并没有JSON解码操作

只是改过all_log, 其他的没碰。
official.js.zip

谢谢您。

用过远程管理后台配置过openRASP,添加了几个白名单URL,但是高级的匹配规则,比如正则表达式什么的没有动。

你好,看你提交的附件,依然没有找到JS解码过程,请加入QQ群联系下群主:
https://rasp.baidu.com/#section-support