1.shiro Դ?源译????
2.Java学习资源
3.记一次若依后台管理系统渗透
4.Apache shiro 反序列化漏洞复现
shiro Դ?????
Apache软件基金会,全称为Apache Software Foundation(ASF),码编成立于年7月,源译是码编世界上最大的最受欢迎的开源软件基金会,是源译一个非营利性组织,专门支持开源项目。码编破解exe看源码
目前,源译ASF旗下有超过+亿美元的码编价值,为开发者提供免费的源译开源软件和项目,惠及全球数十亿用户。码编
接下来,源译我们将盘点Apache软件基金会旗下的码编个顶级项目,这些项目在日常开发过程中常常遇到,源译有的码编android lua源码可能已经使用过,而有的源译则值得学习了解,为未来项目提供参考。
1. Apache(mons.apache.org/sand...
svn checkout mons/sandbox/classscan classscan cd classscan 当install带有parent的maven项目时,如果没有把parent一并install,其它项目引用时会出现 mvn install--Failed to read artifact descriptor for org.apache.maven.plugins:maven-source-plugin:jar:2.1.2 cd parent (classscan/parent) mvn clean package install -DskipTests cd ../api (classscan/api) mvn clean package install -DskipTests cd ../bcel (classscan/bcel) mvn clean package install -DskipTests 在pom.xml中添加依赖 org.apache.commons.classscan bcel 0.2-SNAPSHOT org.apache.commons.classscan api 0.2-SNAPSHOT Eclipse中Update Project,选择Force Update of Snapshots/Releases Apache HttpComponents Maven and M2Eclipse maven快速下载某个jar包依赖的所有jar 经常碰到这种事情:在一些非maven工程中(由于某种原因这种工程还是手工添加依赖的),需要用到某个新的类库(假设这个类库发布在maven库中),而这个类库又间接依赖很多其他类库,如果依赖路径非常复杂的话,一个个检查手动下载是很麻烦的事。下面给出一个便捷的办法,创建一个新目录里面建一个maven pom文件, 添加需要依赖的类库: 4.0.0 com.dep.download dep-download 1.0-SNAPSHOT com.xx.xxx yy-yyy x.y.z 在这个目录下运行命令,所有跟这个类库相关的直接和间接依赖的jar包都会下载到 ./target/dependency/下 杂项 间接依赖的jar包能否直接使用 如果工程依赖A.jar,并用maven设置好依赖,同时A.jar会依赖B.jar,所以maven在下载A.jar的同时会下载B.jar,这时如果项目发现需要使用B.jar中的一些内容,在maven中不必从新设置依赖,美丽修行源码可以在工程中直接使用。 把某个本地jar包安装到本地仓库中 mvn install:install-file -DgroupId=“edu.jiangxin” -DartifactId=”gcu” -Dversion=“1.0.0” -Dpackaging=”jar” -Dfile=“D:\CS\J2EE\lib\edu.jiangxin.gcu-1.0.0.jar” 把某个本地jar包部署到某个远程仓库中 mvn deploy:deploy-file -DgroupId=“edu.jiangxin” -DartifactId=”gcu” -Dversion=“1.0.0” -Dpackaging=”jar” -Dfile=“D:\CS\J2EE\lib\edu.jiangxin.gcu-1.0.0.jar” -Durl= yourlocalrepository:... -DrepositoryId=internal bintray bintray.com/ Ant Eclipse Color Themes MyEclipse EclEmma eCobertura JavaNCSS Clover(收费) CAP (code analysis plugin) Visual Performance Analyzer VisualVM JD(Java Decompiler) 注:不支持命令行使用,因而很难批量编译。 jad 注:jad支持命令行方式使用,最新版本为1.5.8g,支持的class版本过低。经常出现问题:The class file version is .0 (only .3, .0 and .0 are supported)。还有一个工具uuDeJava,也是基于jad,所以估计也难以避免这个问题。 jdec JODED J Java Decompiler 注:收费软件,没有试用过 ProGuard FindBugs PMD Metric Jdepend SourceHelper Structure inFusion SourceMonitor Simian CheckStyle CCTE J-Technologies一家(收费) FORTIFY SCA(收费) coverity(收费) klocwork(收费) GProf Dot and Graphviz sikuli exe4j JBoss GlassFish Virgo Jetty cpDetector EZMorph Apache Shiro Struts Spring Hibernate iBATIS/MyBatis appfuse TopLink json neethi XML SAXON jsoup HTML Parser Java port of Mozilla charset detector(jchardet) JMX jsch * yFiles The yFiles diagramming software components are extensive class libraries that enable you to add high-quality diagramming functionality to your own software applications OpenLDAP Protobuf zip4j JFlex JavaCC sablecc Xtext antlr cglib javassist jclasslib ical4j 分词规则引擎 Drools jBPM OpenAS2 Java Native Access (JNA) mpi Java eBus JACOBA Apache POI - the Java API for Microsoft Documents iText(AGPL) aspose MVEL(Drools) OGNL(Struts) SPEL(Spring) JSP EL freemarker Velocity Aurora记一次若依后台管理系统渗透
在进行风险排查时,我们对一个未验证的牧场系统源码网站进行了渗透测试。发现该网站使用的是若依后台管理系统。我们从弱口令攻击开始尝试,发现默认口令为“admin/admin”。由于直接进入,我们立即使用了特定工具进行漏洞探测,尝试利用若依的几个已知漏洞。
在使用工具时遇到了困难,因为该工具并不支持直接利用若依的漏洞。我们通过阅读相关文章找到了解决方法,需要上传jar包,并通过定时任务调用执行。尽管按照文章教程实践,却未能成功执行漏洞。莫言源码在查看文章后,我们了解到ruoyi的shiro存在默认密钥,并通过shiro写入了内存马。
对于内存马的使用,我们参考了相关文章并成功执行。不过,由于这是一台云主机,只有单一主机,使用了ligolo代理并成功连接。在尝试添加用户时,发现被拦截。原本计划使用哥斯拉的内存马进行提权,但始终无法连接。如果有更多关于哥斯拉内存马的指导,希望得到分享。
在定时任务方面,我们遇到了挑战,通过研究其他资料了解到,Windows和Linux的命令执行方式存在差异,Windows需要通过调用cmd进程才能执行命令。根据文章的指导,我们成功配置了后台定时任务,并使用特定的Java源码与编译打包过程,最终成功反弹shell至我们的vps。
在整个渗透测试过程中,我们面临了许多问题,但通过不断学习和尝试,最终成功实现了目标。总结这次经验,我们认识到在进行渗透测试时需要具备扎实的技能和丰富的资源,同时,也要善于从问题中学习,不断提高自己的能力。分享这些经验,希望能为同行提供参考,促进网络安全领域的进步。
Apache shiro 反序列化漏洞复现
原因分析:Apache Shiro的默认配置使用了CookieRememberMeManager,处理cookie流程包括Base解码、AES解密以及反序列化。问题在于AES密钥硬编码,使攻击者能构造恶意数据,导致反序列化的RCE漏洞。
影响版本:Apache Shiro版本<= 1.2.4
漏洞特征:在返回包的 Set-Cookie 中出现rememberMe=deleteMe字段
判断网站使用了Shiro:当测试Java开发的网站程序时,检查登录响应包是否包含rememberMe标记,或修改登录包,将rememberMe设置为deleteMe。观察回包中是否出现rememberMe标记,可基本确认网站采用Shiro框架进行认证或权限控制。
前期准备:下载Maven和ysoserial。运行命令`mvn –version`验证Maven是否成功安装。通过`mvn package -D skipTests`编译ysoserial工具,生成工具文件位于`target/ysoserial-0.0.6-SNAPSHOT-all.jar`。
漏洞利用:首先确保测试网站与攻击机之间联通。前台登录,截获数据包。在攻击机上运行nc监听指定端口,执行反弹shell指令。将指令转换成加密后的形式,并利用ysoserial中的JRMP监听模块监听指定端口执行反弹shell命令。
注意:针对不同的组件版本,如CommonsCollection1-5,可能需要调整策略以成功执行命令。可以使用`python shiro.py 攻击者IP:攻击者监听的java端口`进行测试。使用POC中的特定key替换请求中的cookie信息,观察java监听接口响应,通过nc监听接口验证命令执行。
测试完毕后,关闭监听接口,停止反弹shell。可以使用DNSlog或类似工具进行测试,具体操作不赘述。