主页 > 网络知识 > JAVA代码审计之SSM框架与示例(2)

JAVA代码审计之SSM框架与示例(2)

 

JAVA代码审计之SSM框架与示例

Dao层接口,接口名字对应着Map文件,直接找对应的Map.xml文件即可,这里是MemberMap.xml    

 

 

JAVA代码审计之SSM框架与示例

这里使用了预编译没有对应的漏洞    

 

JAVA代码审计之SSM框架与示例

SSM框架审计之SQL注入漏洞(反向)

全局搜索${,因为mybatis存在注入的地方就是使用了该符号作为SQL语句拼接。    

 

JAVA代码审计之SSM框架与示例

找到该xml文件,文件名为GroupTopicMapper.xml,找对应的Dao文件即可,搜索GroupTopicDao,找到该文件,并且搜索之前xml语句的id值即为Dao中的方法名,找到如下    

 

 

JAVA代码审计之SSM框架与示例

找到Dao文件之后需要找到对应的Service,这里使用crtl+alt+h找该方法在那里被调用过,找到如下文件    

 

 

JAVA代码审计之SSM框架与示例

仍然找改方法在那里被调用,使用crtl+alt+h,发现以下俩个crontoller调用了改方法    

 

 

JAVA代码审计之SSM框架与示例

这里使用crtl+alt+h查看该方法在那里调用,继续跟踪找到前端url,这里看下改方法的requestmapping中的值即可找到对应的url,只是这里并不存在SQL注入,可控的参数不会进入到语句中    

 

JAVA代码审计之SSM框架与示例

SSM框架审计之xss漏洞

访问发布评论页面,点击提交数据,查看数据提交的uri    

 

JAVA代码审计之SSM框架与示例

之前看到web.xml中配置有过滤器,MVC执行顺序是先经过过滤器,在经过控制器,所以先去过滤器中查看是否有对应的处理    

 

 

JAVA代码审计之SSM框架与示例

使用了动态代理对request中的数据进行处理,跟进方法,这里获取参数值,并且对参数调用了cleanXSS进行过滤,找到cleanXSS方法    

 

 

JAVA代码审计之SSM框架与示例

cleanXSS方法中先调用dealScript和dealStyle方法对xss进行处理    

 

 

JAVA代码审计之SSM框架与示例

这里对script标签和style标签进行了正则,并进行了实体化编码,但是只对正则匹配到了的xss进行了实体化编码,而且正则可以绕过,故存在xss漏洞    

 

 

JAVA代码审计之SSM框架与示例

回到cleaXSS方法中,对这俩个标签处理完之后,对事件进行了正则匹配并替换,在提交处查看处理后的结果    

 

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!