Dem0のdiary
Dem0のdiary
最近太闲了,啥也在看,啥也没学会,开个blog激励一下自己。(致敬sakura!)争取365天拿下科恩offer!
2022/05/31
学习
啥也没学.png,预计到6.8号之前估计都不会更新这个模块。(考试咕咕)
杂事
开启了blog,希望自己能够坚持下去,也坚持学下去。
2022/06/06
学习
这周末主要学习了洛谷8道算法(高精度和模拟)+java的SSTI注入,发现了一个神仙paper,后面会仔细研究一下,因为考虑到还有几个java的引擎还没有学习到,所以我打算先学完(主要是一边看一边在出题)
杂事
这个端午打LOL和几位大哥一起恰了饭(dengfeng猛carry!)
2022/06/09
学习
昨天是妥妥地摆了一天,一直在写物联网技术开发的作业,复习了HTML+JS+CSS(前端🐕都不写).
杂事
熬夜真的伤身体,给大家推荐一下,健康生活150岁。
写稿也要注意自己的技巧。
2022/06/10
学习
今天是学习了一天物联网的简易开发实验,简单编 ...
About new Blog
About new blogQ: 为什么新建博客?
小白文写着确实没什么收获,后续自己在看到相同的问题的时候也不好回想。(最近太闲了,
Q: 发水文?
尽量保证博客中发的都是高质量爽文,保证质,但是不保证量,顶个flag(一周能复现一篇高质量!)
Q: 写什么?
心情好,想写什么写什么。
Q:之前没有写过文章吗?之前的好文呢?
CSDN:https://blog.csdn.net/anwen12
github: https://github.com/3em0/java_3em0
强烈推荐github,小白入门系列。
Q: 友链
link_list: - name: in1t link: https://in1t.top avatar: https://in1t.top/img/avatar.jpg descr: 一只对二进制感兴趣的菜鸡
研
从前-2022/09/14从大一入学开始,就有传言说我们这一行人有机会上研了,具体的措施也是一拖再拖,迟迟没有落地。拖到走了一个又一个同学。倘若不是因为一些其他因素,我现在应该在某大学里面作为一名大三的学子了。
我曾经不止一次的想过,假如我逃离了这里,到了外面的世界,我会过上怎样精彩的生活?或许是每个月的全国飞,或许是在校园里肆意的学,又或许是在周末的清晨能够睡到自然醒,无数次的想要离开,无数次的都没有成功。
在大二的时候,有幸接触到了网安这个行业,充满生机,充满了挑战。讲句心里话,我最开始学习这个,是为了逃避了现实,为了逃避无止尽的活动,无止尽的一系列没有意义的事情。害,说起来又是一把泪。继续回到主题吧,刚开始的时候,面临的问题是没有队友,找的队友三天打鱼两天晒网,找大哥们,大哥们有自己的队伍,一个人摸索的时候,感觉是真的黑暗。一个人在俱乐部debug,一个人在俱乐部查找资料,一个人始终都是一个人。什么是我坚持下来的动力呢?用肖申克救赎中的一句话来回复: 任何一个你不喜欢又离不开的地方,任何一种你不喜欢又摆脱不了的生活,就是监狱。如果你感到痛苦和不自由,希望你心里 ...
网鼎杯2022之java
网鼎杯2022
每年网鼎杯都有四场比赛,今年的青龙组和玄武组的web的题目直接给好评。非常值得赛后复现一下,但是还是要说做题时间十分有限,要在比赛的时间里面做出这么多题目确实还是不简单的。
BadBean这是一道青龙组的java题目,最后是被ma4ter带佬顺利拿下一血,并且成为最后赛场上的唯一解。我们首先打开题目所给的源码来进行题目的一步一步地分析和解答,其实题目本身并不难。
题目初探首先关注的便是他的controller部分的代码,很明显,这里就是一个Hessian2的反序列化。
最常用的利用方式有如下。但是如果我们看过pom.xml就会发现,好像是没有这几个依赖的。
Rome
XBean
Resin
pom.xml
甚至在依赖本身来说,只有两个dubbo:2.7.14和HikariCP:2.6.1。我们把依赖本身放到百度中去搜索,便能发现唯一一个满足这个依赖关系的文章: https://paper.seebug.org/1814/#_3: 最后达到的攻击效果就是:触发toString。然后我们发现在题目给的bean中有这么一个类com.ctf.badbean.bean. ...
强网杯2022参赛纪实
crash侥幸拿下了一血,很开心。题目思路就是有pickle反序列化的位置。要过掉的位置就在于userdata.token==hash("xxx"),那么就是类的__eq__。所以就是新建一个类了哦~
import base64,picklefrom lib2to3.pgen2 import tokenexec('''class dem1:\n def __eq__(self, __o: object) -> bool:\n return True\nclass dem0:\n username='admin'\n token=dem1()''')print(dem0().token==hash("11111"))userdata=b'''(c__builtin__execS'class dem0:\\n class dem1:\\n def __eq__(self, __o: object) -> bool:\ ...
GoogleCTF2022复现
Log4J
Log4j2源码解析
刚好这段时间在复现googlectf,又刚好碰到了这道题目,所以趁着这个机会来对题目进行复现的同时,重新学习一下log4j2的核弹级别漏洞。
题目主体的代码逻辑很简单,就是会使用LOGGER.info来输出所有的cmd和args。因此很同意想到之前的那个核弹级别的漏洞,但是发现版本不在影响范围内,所以只有作罢。配置文件解析。首先我们从配置文件开始看。
<Configuration status="INFO"> <Appenders> <Console name="Console" target="SYSTEM_ERR">// 默认不支持在控制台输出 <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{36} executing ${sys:cmd} - %msg %n" ...
JAVA内存马攻击篇
JAVA内存马内存马的攻击面webshell实际上也是一种web服务,那么从创建web服务的角度考虑,自顶向下,有下面几种手段和思路:
动态注册/字节码替换 interceptor/controller(使用框架如 spring/struts2/jfinal)
动态注册/字节码替换 使用责任链设计模式的中间件、框架的实现(例如 Tomcat 的 Pipeline & Valve,Grizzly 的 FilterChain & Filter 等等)
动态注册/字节码替换 servlet-api 的具体实现 servlet/filter/listener
动态注册/字节码替换一些定时任务的具体实现,比如 TimeTask等
另外,换一个角度来说,webshell作为一个后门,实际上我们需要他完成的工作是能接收到恶意输入,执行恶意输入并回显。那么我们可以考虑启动一个进程或线程,无限循环等待恶意输入并执行代码来作为一个后门。
环境准备
jdk 8u102springboot 2.5.5 ...
XXE备忘录
XXE注入前言XXE这个是最近在某国赛分区赛看到的一个知识点,好久没做,当时看到他许多的过滤,整个人都慌了。一直到今天才有时间来回顾一下。
XXEXXE: XML外部实体攻击,本质上就是: 攻击者自定义的XML文件进行了执行,最终效果:任意文件读取或DOS攻击。(php:可导致phar反序列化)
XML & DTDXML基础教程:菜鸟 XML。(其实不难发现:xml和html还是有一点点像的)
这里介绍一下特殊的内置变量(是不是和html一模一样了)
<!-- 内置变量 -->< <> >& &" "' '
DTDDTD文件格式: <!DOCTYPE 根元素 [元素申明]>.
eg.
<!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (# ...
某ciscn分区两个题解
ciscn分区赛two题解 因为本次比赛的赛制的是awdp类型,所以题目源码都给出。本篇题解不介绍详细的审计过程,只作为漏洞记录.
0x01 xxclound首先根据system_member.php拿到demo/demo的账号与密码,可以实现成功登录.然后开始审计.打开网站.
zip目录穿越可以很清楚地看到有文件上传的功能,能不能直接上传php文件呢?先尝试再看源码.
可以看到只要包含了这些扩展名就不能校验成功.
php|phtml|phtm|pwml|asp|aspx|ascx|jsp|pl|htaccess|shtml|shtm
这里面还有什么可以用呢?zip,png,ini
聪明的人可能现在有两个思路
phar反序列化
ini文件+png
第一个思路来说,这里面没有找到pop链子而面临失败告终.现在来看第二个思路,上传上去之后发现?文件访问不到—,该死的.htaccess我感觉和它脱不了干系!
再想 有什么办法可以让ini文件出现在index.php的页面下呢?zip目录穿越.因为就在上面的代码同文件的下面有这样一个函数
放上我的exp
import zipfil ...
MapReduce三个入门案例
MapReduce入门0x01 MapReduce 简介基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大规模集群上,并以一种可靠且具有容错能力的方式并行处理上TB级别的海量数据集。
工作机制
这个过程中一共含有四个实体
实体一:客户端,用来提交MapReduce作业。
实体二:JobTracker,用来协调作业的运行。
实体三:TaskTracker,用来处理作业划分后的任务。
实体四:HDFS,用来在其它实体间共享作业文件。
具体的运行流程不展开分析。
输入输出输入输出都是<key,value>键值对,Map和Reduce处理过后都是处理之后写出不同的键值对。
编程规范
Map阶段
设置InputFormat类,将数据切分为key-value(k1和v1)对,输入到第二步;
自定义map逻辑,将第一步的结果转换成另外的key-value(k2和v2)对,输出结果;
Shuffle阶段(这个阶段编程需要借助Compartor)
3.对输出的key-value 对进行分区;
4.对不同分区的数据按照相同的key排序;
5.对数据进行 ...