Jspxcms的代码审计

下载地址:https://gitee.com/jspxcms/Jspxcms/

环境搭建

Java 1.8

Maven 3.6.9

MySQL 5.7:

修改配置文件,新建表jspxcms执行SQL导入数据

image-20240702152309534

image-20240702152519386

使用Maven tomcat插件运行

image-20240702153235240

代码审计

SQL注入

这个系统使用了JPA,预编译使用占位符是这样子?1 ?2

1
2
@Query("select count(*) from Vote bean where bean.number=?1 and bean.site.id=?2")
public long countByNumber(String number, Integer siteId);

没使用占位符是这样子

1
2
@Query("select count(*) from Vote bean where bean.number=:number and bean.site.id=:siteId")
public long countByNumber(@Param("number") String number, @Param("siteId") Integer siteId);

直接找这种没用占位符或者变量传参到SQL中的,因为like、order by、where in后不能使用占位符会直接报错,可以主要看这几个

__END__