点击上方蓝字·关注我们
由于传播、利用本公众号菜狗安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号菜狗安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,会立即删除并致歉。
项目介绍
环境搭建
环境搭建踩坑
漏洞挖掘
SQL注入
XSS
第一处
第二处
多处CSRF
代理用户创建
密码修改
最后
项目介绍
私有化部署自己的SAAS云建站系统,可通过后台任意开通多个网站,每个网站使用自己的账号进行独立管理。延续了织梦、帝国CMS的模版方式,性能高度优化,一台1核1G服务器可建立几万个独立网站
环境搭建
我选取的版本是v4.10
项目地址:https://gitee.com/mail_osc/wangmarket/archive/refs/tags/v4.10.zip
源码下载到本地后解压(注意:不要解压到中文目录下),IDEA打开
修改配置文件:application.properties
数据库连接配置
数据库接口配置,把sqlite的注释掉,用mysql的
然后在数据库中创建对应数据库,并导入sql文件:elsewangmarket.sql
然后启动项目,访问127.0.0.1:8080即可开始系统安装
环境搭建踩坑
我本地用的maven3.8.1,然后运行时报错
Pingplusplus:pingpp-java:pom:2.1.7 failed to transfer from http://0.0.0.0/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of maven-default-http-blocker has elapsed or updates are forced. Original error: Could not transfer artifact Pingplusplus:pingpp-java:pom:2.1.7 from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [central (http://jcenter.bintray.com, default, releases), maven-ali (http://maven.aliyun.com/nexus/content/groups/public/, default, releases+snapshots)]
解决办法:
在pom.xml文件中把下面两个依赖改成https
然后使用下面命令强制更新依赖
mvn clean install -U
漏洞挖掘
SQL注入
先判断sql语句使用api,检查下pom.xml文件或者依赖包
pom.xml中未发现其它依赖引用
外部库也没发现,判断为原生JDBC
全局搜索**+**&append
这套系统实际上是有做sql注入预防的,我们可以找一处查询功能点看下
像这种搜索的功能点,也就是模糊匹配是我们优先可以看的,抓包看下路由
根据路由定位到代码段
这里我们没有看到name数据的处理,其实是写在setSearchColumn这个方法里面的,我们跟进
可以看到过滤内容也在这里面,我们重点看数据处理的部分
可以看到通过while循环取出valueArray数组中对应索引的值,然后用到了个filter方法,然后在把取出来的val通过append拼接到语句中,那么这里的关键点肯定就是filter方法了,我们看下这个方法干了什么
通过toLowerCase()方法把我们传入的内容转换成小写,然后进行字典匹配,如果存在就查询给originalValue赋值,内容就是替换的字符,我们可以看下执行结果
那么这里就不存在注入问题了,因为这个函数绕不过去,然后还禁用了特殊字符,但是
这里作者是自定义了一个filter函数用于SQL检测,不是写在filter层,也就是说不是默认全局的,那么我们就可以找下有没有没使用filter()方法并且写入sql语句中执行并且我们可控的参数。
还真有!
这里有个tablename参数是我们可控的并且是直接拼接到sql语句中没有进行处理,直接使用findMapBySqlQuery方法执行的,那么这里就会有注入问题
对应的路由是:/plugin/dataDictionary/tableView.do
然后这里要管理员权限才能访问,登入的时候使用admin登入
抓包,sqlmap一把搜哈
XSS
这套系统的xss和sql一样,有预防函数
所以我们要找的就是没有使用filterxss并且能回显的地方,这个还是比较难找的
第一处
网站有模板修改功能,尝试插入xss语句
保存,并且生成整站
这个的话因为这套系统是多用户管理,除了后台用户还有代理用户和总管理,所以通过后台xss可以获取总管理或代理的cookie还是有利用价值的。
第二处
在总代理的角色添加处
可以新增角色,然后这里可以写描述
保存
多处CSRF
代理用户创建
抓取数据包用户创建
生成csrf_poc
把csrf1.html放到服务器上,模拟管理员触发
密码修改
他这里密码修改不需要校验旧密码,那这里如果可以csrf就可以直接修改密码了
抓包
生成poc
把csrf1.html放到服务器上,模拟管理员触发
登入测试agency/admin123
登入我们修改的密码caigo888
除了这两处还有很多功能点存在csrf,而且这个可以加上我们前面的xss进行组合利用
最后
目前交流群人数超了只能邀请,需要进群交流的加作者微信备注交流群,后面会考虑开二群。
性感群主不定期水群在线解答问题!
原文始发于微信公众号(菜狗安全):JAVA代审-wangmarket_v4.10
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论