- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 Mybatis源码阅读(四):mapper中的方法执行逻辑分析
跟进DefaultSqlSessionFactory中,这里会调用executor的query方法,我们的mybatis拦截器,作用的就是这些query方法,MappedStatement对象就是描述我们写的SQL的xml文件的核心对象。首先,不调试代码我们直接静态使用idea的时候,是没办法直接进入到mapperProxy的invoce方法,我们直接开始调试代码,回到invoke方法中。我们跟进invoke方法中,这里会执行上面实例化的mapperMethod对象的execute方法。
2024-11-18 16:36:22
842
原创 Mybatis源码阅读(三):session.getMapper()怎么获取到的mapper对象
跟进创建代理对象的mapperProxyFactory.newInstance(sqlSession)代码中,mapperProxyFactory携带了当前类信息,此处的泛型就是我们getMapper传递进来的类,获取到mapperProxy 即mapper的代理对象。以Mybatis源码中的示例代码为例,创建sqlSessionFactory 和openSession两个步骤我们在前面的文章中已经分析完成,接下来看看如何根据mapper.class获取到mapper对象。其中invoke方法如下。
2024-11-18 14:15:09
313
原创 Mybatis源码阅读(二):sqlSessionFactory.openSession()这一步做了什么
3、获取signatureMap中包含的targrt实现的接口的数组,这段主要的作用是用来判断拦截器是否要作用在当前target对象,比如一个拦截器作用在StatementHandler.class,那么在Executer初始化时,此拦截器不会用来生成Executer的代理对象。由上述可知,在SqlSession被创建的过程中,事务工厂,及Executer初始化完成,同时针对Executer的拦截器也已经被初始化完成。Executer的类型枚举类如下,简单执行器,可重入执行器,批量执行器。
2024-11-17 21:20:49
427
原创 RMI执行过程
RMI是Java编程语言里一种用于实现远程过程调用的应用程序编程接口。它使客户机上的运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽可能地简化远程接口对象的使用,简而言之就是为了调用远程方法。https://blog.youkuaiyun.com/u012291108/article/details/52863915这个过程中涉及到对象的传输,所以会用到序列化和反序列化,以及JNDI(远程方法调用协议)参考文章:rmi详解:https://
2021-07-20 16:57:00
277
原创 JAVA动态代理类调试及生成问题解决
前几天碰到了这样的一个问题,就是在挖掘JAVA反序列化CVE-2019-10173的时候,compareTo()函数在碰到动态代理类的时候,会执行到Invoke方法,但是这个过程由于动态代理类不会生成,所以没有办法看到调用过程,所以就有了此文,记录一下这个过程。看到许多文章都是说在动态代理测试中加入System.getProperties().put(“sun.misc.ProxyGenerator.saveGeneratedFiles”, “true”);这样的语句,但是在动态代理调试到compareT
2021-06-08 23:59:33
1216
1
原创 代码审计轻松拿下CNVD证书
CSU小学弟终于在前些日子拿到了自己的第一个CNVD证书,写此文章留作纪念一、版本及官网概述ZZCMS是专门帮助企业建立招商系统的一个CMS,此次出现问题的是ZZCMS201910和zzcms2020这两个版本(其他的版本我还没有具体去看),此cms的官网为http://www.zzcms.net/在admin目录下的tag.php出现了漏洞二、漏洞发现过程分析Tag.php38-62行67-77行我们传入相应的参数直接进入showtag这个方法里面接下来开始分析showtag()这
2021-04-21 21:21:31
2066
7
原创 从信息泄露到网站getshell
1.本文由来个人感觉信息泄露漏洞是最容易挖的,写一篇纪实,一般是谷歌语法利用的比较多Filetype:xlsXls、 doc 、pdf、 txt 、mdb 、md、 zip、 rar 、7z 、xlsx 、docx 、sql都是常见的类型,大家可以自己去尝试2.实战纪实我这里有一个实战纪实先谷歌语法搜索一般不需要点进去查看,根据页面大致内容即可查看是否有真正的身份像对于身份等信息没有很明显打码的我们就可以下载来看根据页面给出的url去访问他的网站(一般如果有这种泄露,说明网站管理员安全意
2021-04-12 20:55:49
278
原创 基于Python爬取教师主页
Python实现爬取西安电子科技大学所有教师个人简介以及简历基于Sublime Text 3运行,整体实现比较简单。如果需要使用,直接粘贴源码即可,可以修改对应的循环控制值或者直接只复制某一个函数来实现爬取的功能。自己已经大三,对网络安全方面比较有兴趣,而西安电子科技大学又是网络安全的强校,所以想看一下相关的导师,顺便锻炼一下自己写脚本的能力。本文所爬取到的信息均是西安电子科技大学学校网页上的公开信息,如果侵权,立即删除。下面是代码段 #coding=utf-8 """Created on
2020-10-18 11:26:38
1775
1
原创 代码审计-es*cms v6.7版本 文件包含漏洞
这次来晚了,这几天看了许多视频,感觉自己又行了,于时独自去审计了一个cms,还是有点难搞的。在说代码审计之前给大家安利一款工具,那就是sublime text 3,这个工具体积小,功能强大,可以区分并且编译多种代码,直接上截图界面清晰,高亮显示对于各种变量以及函数的区分很有效,同时可以直接编译php代码对于添加备注,对代码进行简单的调试非常好用此次审计的目标是espcms v6.7版本,这是我第一次独立审计,整体来说代码的安全性还是很高的,我的思路是先用法师的代码审计工具进行自动审计,然后一个一个
2020-08-16 22:41:17
348
原创 Bluecms 代码审计,入门级别
本人是CSU18级小学生一枚,今天在此立下flag,以后每3~5天审计一个建站系统,并写下博客作为见证,直到独立审计出通用型漏洞,拿到CNVD证书。今天要审计的是对入门比较友好的bluecms,代码较为简单,代码量也比较小,下面开始。此次采用灰盒测试,边审计代码边进行验证搭建成功,进行代码审计的时候,自己搭建本地测试环境是相当必要的,这样可以对自己发现的漏洞进行验证。我用的是Seay代码审计系统,先进行自动审计,省去我们一部分时间。首先是这一处,很明显的文件包含漏洞,act参数在前端是表示用户的
2020-08-08 21:31:34
452
ctags.exe下载资源
2020-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人