自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 [2021祥云杯]secrets_of_admin

其实我们下载的文件中,目录还有一条信息,那就是flag文件一开始就存在于。当我们访问这个路由,并传递对应的参数,它就可以给我们往files表中插入一条自定义的数据。目录下的,而我们第一步开始分析的初始化时,往files表中插入的那一条数据,也可以看的出来。这条数据,尽管我们有校验码(文件的哈希值),但是。即可下载flag,后面试了script标签的window跳转和AJAX发送也是可以的。上传方法了,在这个路由,我们根本看不到我们之前输入的数据。用户根本不存在的,我们用这条校验码也是查询不出数据的。

2023-10-23 19:20:19 215

转载 [HarekazeCTF2019]Sqlite Voting 1

假设读取的数据长度是18,那么18的二进制数据就为10010,它首先直接和00001进行与,第一位结果为0,不进入if;第二次{1<<1}左移一位,和00010进行与,该位匹配成功,进入if进行或操作。第三次{1<<2}左移二位,和00100进行与,第三位结果为0,不进入if;第五次{1<<4}左移四位,和10000进行与,该位匹配成功,进入if进行或操作。的英文字符,但是由于单引号和双引号都被过滤了,而我们又要逐位对数据进行拼接判断,所以接下来就是解决我们爆破出来的数据和这些字符进行拼接的问题了。

2023-10-22 19:15:09 212

原创 HXBCTF 2021 easywill

14.操蛋的是这里明显,大小写被转义了,后面才知道需要自己手动修改一下,否则在url框中会被自动转义再发送。为模板开发的一款超轻量级的MVC框架,其中一共源码大小不超过400k,没有繁琐的类库以及冗余的功能函数。同样是两个if不成立,进入最后的变量覆盖加文件包含,这个覆盖的键值对参数。获取到传递参数的md5值文件名,并进行判断是否存在,不成立,跳到else。审计一下,两个参数都为空,那么它就会包含默认的route,就是。函数的作用,它一般是各种框架自定义的一个方法,而大概的用途和。

2023-09-04 16:16:28 191

原创 [极客大挑战 2020]Roamphp2-Myblog

3.进入后台上面读取到的文件上传代码就重要了,它采取了白名单的方式只允许图片后缀上传,但是要访问压缩包里面的木马文件,还需要使用。木马文件,不用加后缀,因为它会自动加。文件,并从中读取序列化数据的。1.进入到界面,url主界面一个很明显的文件包含,直接用。,因为可以猜测到它的文件包含页面逻辑会给所有文件名都加上。,明显密码和登录界面说的一样,获取不了。协议的用法,因为想到了,无论文件是什么后缀,名给删除,php就找不到密码数据了,也就是。6.上传成功,访问即可执行命令,,上传的时候再访问压缩包内的。

2023-09-04 16:07:09 220

原创 tryhackme-kiba

提权由于具有很大的安全隐患,原因就是某个命令,压根不需要用到这么多功能,这该命令的某些功能又能被用于进行权限提升。下载该漏洞编号的利用脚本:https://github.com/LandGrey/CVE-2019-7609/。3.根据题目描述的:识别数据可视化仪表板中允许执行远程代码的关键安全漏洞。权限划分的出现主要是因为当一个普通用户想要执行高权限命令时,要么通过。4.在这里,有一个原型链污染,污染后可以直接执行命令反弹。2.在那个无需回答的问题,其实就有提示,说。并没有发现版本信息,逐一检查过后,在。

2023-08-06 16:30:38 84

原创 [XDCTF 2015]filemanager

字段(注意,一个是参数提交的oldname,另外一个是数据库字段oldname),和我们输入的新文件名。功能和描述一样,先判断是否存在该文件名,然后将该文件名所有后缀的文件的数据库数据全部删除,包括文件。当我们上传文件后,会先从数据库中筛选是否有这个相同文件名和后缀的数据,然后再移入。我首先想到的是能不能从。先来分析一下,我们上传的文件,会对后缀名进行严格限制,并且由于经过了。文件,其中除了数据库连接操作外,还新增了一个参数过滤器,会将参数分别经过。字段,再将我们之前上传的文件名,也就是数据库查询出的。

2023-08-05 21:40:26 119

原创 [2021祥云杯]Package Manager 2021

这道题确实可能有点问题,因为真要按照上面代码审计的操作,应该是窃取管理员cookie,这部分可能是非预期解。

2023-08-04 18:13:40 79

原创 [羊城杯 2020]EasySer

方法了,不得不说,这题是蛮坑爹的,看了wp才知道,那个页面的源码中反序列化点会直接输出对象,直接能触发该方法。那么触发方式也有了,最后就是如何绕过死亡。一共是13位,需要补3位才能到16位成为4的整数倍。path已经有了,那么c参数一定就是反序列化点了。1.打开页面,进入index.php,没有任何提示,直接目录扫描发现。包含在内的字符,以4bytes一位编码来计算需要补多少位。对文件内容进行base64解码,它的字符范围包括。这句话的,猜测是该页面输出的,尝试本地访问。的方法,直接用php过滤器。

2023-08-04 12:19:45 281 1

原创 hznuCTF eznode

4.谷歌搜索该漏洞的exp:https://xz.aliyun.com/t/11859#toc-5。然后json格式发送即可。2.审计源码,挺简单的。大概就是在页面post传递一个json数据,会经过。变量中,最后判断该变量的shit值是否为真,然后调用。属性的内容,那么也就是我们需要将该属性污染成。1.页面提示尝试查看源码,最直观的就是。配置错误造成的源码泄露了,直接访问。函数很明显的一个原型链污染,而。函数在VM2沙箱中执行。函数解析,然后再通过。

2023-07-04 22:39:37 211

原创 tryhackme The Marketplace

这篇文章说明了,当使用了通配符时,文件名就能被作为参数来使用,而参数。8.接下来就是获取shell了,我一开始是以为那个不安全的上传功能在管理员账号中就能使用,但是发现好像不行,但是提示又说该功能点存在不安全的风险。的内容,改成bash反弹shell。3.这下利用思路就有了,通过留言板构造xss的payload,然后窃取管理员cookie,并发送到我们本地客户端。9.这个时候,再次注意发现flag的用户管理页面,其中下面的用户有个参数。页面发现了留言板功能,其中也包括了标题和描述,还有个废弃的文件上传框。

2023-07-03 23:43:58 113

原创 Javase学习 上

同样,当两个对象的具体类型不相同时,就不能被引用。4.成员内部类可以访问到外部类的成员变变量(属性),原因还是内部类是属于对象的,对象不同,创建的内部类属于的对象也就跟着不同。外部类是无法使用内部类的属性的,因为内部类没有实例化对象,外部是不知道有这个内部类的,更不用说拿内部类的属性了。从文件中可以看出,内部类和外部类是分别编译的两个类,两者其实是独立的,所以我们只用内部类的东西时,是不会初始化外部类的。内部类也是类,它和成员方法、属性是一样的,都是属于对象的,并不属于该类,像静态方法和变量才是属于类的。

2023-07-01 22:33:55 71

原创 tryhackme Nax

说实话,很难想的着,高中的元素周期表早忘得一干二净了,更别提每个元素所对应的序号了。5.第三步要用工具将图片转为ppm格式,这里工具报错了就不演示了,得到用户名。扫描没找到文件,失败。瞅了一眼wp,提示就在页面中。说明该版本存在缺陷,谷歌语法搜索该版本的cve编号。4.题目还需要我们交该图片的作者,利用工具。1.这里以为要提权,实际上不需要,直接访问。2.根据页面提示,要我们发现隐藏文件,执行命令获得图片详细信息,得到图片作者。漏洞利用模块,进行该版本的漏洞利用。4.设置好必要的参数,直接。

2023-07-01 22:28:48 95

原创 tryhackme GitHappens

扫描只有一个80端口开放。

2023-07-01 15:57:17 64

原创 tryhackme dogcat

2.大概就是当我们docker容器内拥有宿主机文件读写权限,或者主机挂载文件,可以通过写ssh密钥、cron计划任务反弹shell等方式来达到逃逸。1.还有最后一个flag,根据题目提示,接下来的就是容器逃逸了。5.这里出现问题了,可以发现命令执行了,但是shell却连接不上,连着换了几个端口也是一样的,所以这步就跳过了。由于这里我爆破了目录,导致数据很多,于是重新开一下容器。脚本中,这样主机在计划任务备份时,就能执行该命令反弹。容器,尝试使用文件包含来getshell,利用。,那么这条路就行不通了。

2023-06-27 23:08:13 138

原创 tryhackme tomghost

是一种二进制协议,可以将来自web服务器的入站请求代理到位于web服务器后面的应用程序服务器。目录下的文件读取的exp:https://github.com/00theway/Ghostcat-CNVD-2020-10487。2.所以网站目录就没必要扫描了,复现漏洞非常繁琐,那么就直接找到对应漏洞的exp来利用。这个是连接的账号密码,刚好第一步信息收集时,ssh端口是开放的。通过题目可以判断:这个靶场需要利用近期漏洞来getshell读取文件并提权读取另一个文件。文件,然后再利用破解出的私钥来解出。

2023-06-21 19:06:09 94

原创 tryhackme靶场: Mr Robot CTF

6.再来爆破出密码,这里字典太长且有很多数据重复,直接查看这部分的结果,在第八万多条的。8.根据选项面版RCE描述的方法,主题编辑器右侧找到404页面,添加。搭建的博客站登陆页面,根据登陆时的报错回显,利用下载的字典和。按照最新版的burp社区版爆破速度,估计要爆破到靶机结束。解密,但是还是得付费。需要收费,只能手动搜索了。,由于Linux系统的问题后面不需要再加。工具配合默认字典进行目录扫描,结果中的。7.进入后台后,准备查找历史漏洞,但是。命令,发现要输入密码,读取目录下的。命令开出bash命令窗。

2023-06-20 19:28:01 250

原创 刷题日记 date 6.9

但是由于上面可以看见$user=((string)的转换函数还在,所以需要先添加内容后再闭合,否则页面将报错,包括后面的html代码通通需要注释,最后大概变成下面这种形式。毫无疑问是任意文件读取,先读取index.php,多余的前端代码以删除。访问得到flag,这里很坑的一点是,因为CRLF的原因,在最后需要套两次。1.注册登陆后是个沙盒界面,桌面上有个好康的,抓包点击发现。而该变量是通过我们注册时输入的值所可控的,然后和读取到的。函数写shell,文件名知道,主要是文件内容,所以得分析。

2023-06-12 11:01:27 139

原创 安洵杯2023 web wp

4.当时做到这里,就想着如何提权root用户了,但是发现提供的mysql并不足以能够提权。5.进入界面看是个xml文档,一眼xml注入,直接抓get包到repeat,然后在下面添加payload,file访问页面flag即可。(因为写其他地方的话,无法访问,测试后发现只有当前页面可以,game.php也不行)。目录,发现pyc文件,该文件是python解释器将py文件编译后生成的字节码文件。,提示get传递cmd参数,查看页面列表,类似于根目录的情况。界面,提示要登陆,打开session解密一看,

2023-06-11 11:45:48 503

原创 刷题日记 date 6.8

1.总体来看这题还是不简单的,最难的部分是如何构造函数并返回命令执行的结果。这题用了回调+箭头函数的形式来构造payload,理解起来还是很难的。2.光这道题就花了很久的时间,剩下的就没怎么看了。

2023-06-08 20:03:58 224

原创 刷题日记 date 6.7

这种方式我刚开始在普通用户的测试越权时试过是不行的,可能是由于这个账号是admin的原因导致这种方式又能成功越权执行了。而这两个功能是在类Notes中,node.js的类实际上还是语法糖,本质还是函数。1.先注册个用户,进入后台发现有修改密码的地方,抓包查看是否有逻辑越权,但是由于需要旧密码,导致这步失败了。4.注意到管理员的修改密码功能被禁止了,查看req.js文件,找到了一段js,这里有隐藏的修改密码接口。一次包含,这个我是真没猜到,因为啥提示都没有,我猜测的是可能设置了文件读写权限。

2023-06-07 20:27:00 102

原创 2023 陕西大学生CTF web

熟悉substr函数应该清楚,a应该是字符起点,b应该是截取位数。首先截取前8位为password,后面开始是乱码,猜测是汉字,使用burpsuite三组一位开始截取。但是这题考点是污染方法的参数shell,同时因为参数带*,所以需要使用。1.页面是个不死马,但是设置了密码。,输入读取的密码,一开始我用了核心价值观是错误的,必须得把前面的。1.查看源码,发现是python原型链污染,主要特征为。1.不知道为啥,虽然过滤了flag字段,但是直接用。,慢慢读能读到社会主义核心价值观,最后的密码是。

2023-06-06 21:19:22 155

原创 刷题日记 date 6.6

刚开始以为是我的exp有问题,然后又找了网上几个wp的反弹shell也是失效,那么很可能的原因就是靶机没出网,直接将payload替换为命令执行,将读取的flag写入。F12查看源码发现了这段功能代码,也是将上传文件解压到hash生成的目录中,其中的/getflag路由则是记载了flag的存放位置是。2.需要让查询到的密码和输入的密码相等,waf过滤了很多字符,这段代码很明显就是和之前几道题相似,直接一眼quine注入。1.进入后是个登陆框,随便输入即可登陆,但是upload功能被拒绝了,说是权限不足。

2023-06-06 21:04:45 229

原创 python常见漏洞【持续更新】

其中getitem的参数item指的是数组下标,setitem的参数key和value分别是键名和键值,而delitem的key指的也是键名。1.利用原始的Object类找它继承的所有子类,再用子类筛选出可以利用的载入了可以执行命令的模块的类,其中这些模块或类中的方法包括但不仅限于。子类会继承父类的属性,而在类中声明的属性是唯一的,所以我们就需要污染这些在多个类、多个实例对象中都唯一的属性,比如类中自定义属性和。4.虽然5.1的poc失效,但是只要将它的poc形式进行修改,依旧能被5.1以上的版本使用。

2023-06-06 17:55:43 702

原创 new_day2

它的生成规则是,获取用户名然后拼接-,再拼接一段8位随机数,最后加上.和我们传入的type参数文件名后缀。我们要生成session文件,那么肯定是不能有后缀的,所以到下面则有一个str_replace替换,它会将两个…也就是说,我们上传的文件导出时,它其实是会和session存放在同一个目录的。4.也就是说,当我们传入的file是ARGV时,它是作为数组参数传入的,使程序变成像命令行一样等待我们传值进去。1.看后缀是perl写的,进入到上传页面,我们上传的文件它会原样输出到页面中。

2023-06-02 19:41:08 63

原创 [watevrCTF-2019]Supercalc

2.抓包查看cookie发现session,解密后该值是我们历史计算的表达式,我们每执行一遍,历史代码都会记录在session中,并计算后返回到页面。2.那段cookie毫无头绪,但是井字棋这方面还是很精通,试着下了两把,误打误撞赢了得到了flag。1.点击页面查看cookie以为又是伪造,但是查看源码发现了隐藏表单,然后执行/move,尝试发送一个,发现是三子棋。3.接下来就是查找密钥,爆破是没用的,那就只能用页面的功能看看是否能读取密钥。符,就能执行ssti,不过其他的依旧还是被过滤了,不过能访问。

2023-06-01 22:50:20 276

原创 [羊城杯 2020]Blackcat

用sha256加密后的值作为公钥,那么我们也就只需要让加密后的$clandestine值是可以被我们知道的。本地demo测试,它是不能加密数组的,否则就会报错。4.所以我们要让加密的公钥是我们可知的,环境变量中的公钥我们肯定是不可知的。,这样就能让生成的加密公钥$clandestine为空,从而达到下面if判断为假。1.打开f12查看源码,发现mp3文件,点进去访问到最后发现页面部分的代码。的值,否则第二个加密私钥的值就是环境变量的。3.由于我们需要让sha256加密后的。2.首先是我们传入的两个变量。

2023-05-31 22:20:27 134

原创 [DDCTF 2019]homebrew event loop

9.经过上面的审计,已经有了基本思路,那就是先在buy_handler中购买5个物品,同时访问get_flag_handler,这个时候就满足条件,将flag读取后传入trigger_event中了,而且trigger_event还会把数据保存在日志当中,这时侯再经过consume_point_function判断积分不足然后pass已经不行了,因为可以直接在session[‘log’]中就能读取到flag数据。,该功能就是session以及querystring语句的初始化,并保存到。

2023-05-30 23:08:20 170

原创 从[安洵杯2019]iamthinking到thinkphp6.0反序列化漏洞复现

方法,同时满足条件的属性也是在父类Model构造函数中初始化的。但由于Model是抽象类,无法实例化对象,只能找它的子类Pivot来创建对象,但是父类的属性又必须初始化才能满足条件,所以子类的构造函数必须调用父类的构造函数来初始化父类的属性以满足条件。7.继续跟进getAttr()方法,通过getData()然后返回getValue()方法,最后再该方法中找到命令执行点。由于这是个抽象类,于是查找它子类的save()方法看看能不能有利用的。中的save方法,跟进save()方法,然后我们需要进入。

2023-05-30 22:15:53 485

原创 ciscn2023-web 总结与思考

1.一开始本以为是一个简单的dump界面的命令注入,因为猜测源语句可能是先执行命令读取创建日志信息,然后file_get_contents写入/log/目录中。所以一开始就在读取的table_2_dump参数中进行fuzz,发现很多能用来执行命令的符号,例如反引号、$、|、;均被过滤了,不过尝试换行符成功了,于是尝试执行env成功在环境变量中找到了flag。2.赛后才知道这是非预期解,预期是。官方文档中说明了这是一个备份程序,在shell中可以执行备份操作,安装的mysqldump就是链接到该程序中的。

2023-05-29 18:02:55 473

原创 刷题笔记之buu

第二个正则匹配字母、数字和ASCII(127-255)的两个字符,连续匹配多次存入数组中,再判断匹配的两位字符的字符串之后是否在白名单函数内。重新注册一个账号,查看cookie发现jwt,尝试jwt爆破,很久没结果,怀疑为密钥泄露。2.jwt伪造账号为admin,替换cookie登入后台发现flag.png,直接访问显示图片损坏,最后抓包访问得到flag。2.robots.txt发现check.php,访问得到pass,然后进行cookie替换。3.根据提示读取文件,显示文件不存在,猜测目录,读取。

2023-05-26 22:13:27 107

原创 刷题刷题刷题

2.当我们的Base64编码的shell出现了特殊字符,用urldecode解密时,需要先加密一下,如上面payload,+变成了%2B,否则又会出现base64解码四位字符不匹配然后会在末尾补等号导致解码失败。1.会报错的地方尽量避免,比如说如果json_decode函数就会出现错误,原因就是当我们利用的json_encode值不为数组时,它加密后仍然为源数据,且用对应函数解密会发生错误。作为实例化B类的对象。,但是每一个&号后面的都会被认为是一个请求参数,于是需要url编码一下避免混淆,

2023-05-26 22:10:27 121 1

原创 ctfshow 周末大挑战

1.file_get_contents将数据写入文件,但是不能使用?号,不然后面的内容都将会被当成GET传的参。添加斜杠会被当成path参数,于是使用路径穿越执行命令或者编码都可以。1.变量覆盖,找到parse_url中没有脏数据和可控的参数。因为是写入路径中,所以path的值会带。1.第二关基础上删除http://,,下面要用绝对路径来写入。,再传参执行命令即可。

2023-05-15 21:58:45 154

原创 Thinkphp5.1.4反序列化漏洞复现

刚好都是被抽象类Model所使用,但由于抽象类无法被new,也就是实例化,所以我们要找一个它的子类,在phpstorm提示有一个继承者。合并的操作,而call_user_func函数取得也是该参数的地址内的值,所以让它作为get传递的参数名即可,直接赋执行命令的值。然后就是合并请求参数,最后返回调用的input方法,可以看到。在类继承时,我直接调用了privot作为实例化对象,并未继承其父类,而是直接将其父类Model的。数组的键名,这两个属性我们都可控,于是可以返回该数组中$name键名对应的键值。

2023-05-12 22:05:09 1255

原创 pdf_converter_revenge

实际上,ttf字体文件的内容就是恶意phar文件的内容(也就是上面base加密的数据),因为phar协议会将其他后缀的文件都作为phar后缀来解压触发序列化过程。但是由于装fontforge工具的过程中遇到了很多的bug,于是直接使用上面exploit的php文件改成ttf后缀,再进行压缩也是一样的。打开搭建的网站,先测试xss弹窗,然后用title中xss漏洞利用远程加载css,包含已经写好的样式表。中,以至于文件后缀、以及后面处理的文件名和配置保存的字体文件路径都是可知的,这就导致了漏洞的产生。

2023-05-12 21:43:34 291

原创 西湖论剑-web-real_easy_node

1.审计index.js,分析路由,其中/copy路由判断ip是否为本地127.0.0.1ip,是则继续判断请求的post参数中是否包含__proto__,这个可以用替换进行绕过。然后继续调用safe-obj模块的expend函数进行copy。2.CVE-2021-25928:分析一下safe-obj的index.js中的。假设我们传入的参数为进入该函数后,首先将我们的进行split(.)分隔成数组,然后判段数组长度是否为1。

2023-05-11 23:25:33 373

原创 网鼎杯--fakebook解题思路

之前对sql注入不熟悉的时候做了一遍差一步成功,现在学习完又做了一遍,理解又深了...一、涉及知识点:反序列化、sql序列化注入、信息泄露、ssrf、file伪协议二、解题过程打开页面后是这样的由于join界面blog我怎么输都失败于是准备先进行目录扫描1、扫描发现user.php.bak文件,下载后打开是页面功能的源码2.分析代码发现curl_exec()函数,百度搜索发现该函数存在配合file://协议进行任意文件读取的漏洞,规划为反序列化漏洞已经八九不离十了3.又扫

2022-05-02 10:46:16 471

原创 web安全学习笔记--sql基础下(sql注入)

目录一、SQL函数二、SQL注入类型2-1 字符及整数型注入2-2 报错注入2-3 布尔及时间盲注2-4 堆叠注入三、WAF绕过及关键词过滤关键词绕过WAF绕过sql-quine一、SQL函数1-1 读取函数以及导出函数(要求有读写权限以及文件绝对路径)load_file()函数可用于读取敏感文件,into outfile/dumofile导出函数可用于写webshell读配置文件:1' union select 1,2,load_file(

2022-05-01 22:00:16 2005 1

原创 web安全学习笔记--sql语句(sql注入基础上)

1.sql语句对大小写不敏感SELECT - 从数据库表中获取数据:select * from (columns/tables/databases); UPDATE - 更新数据库表中的数据: DELETE - 从数据库表中删除数据 INSERTinsertinto INTO - 向数据库表中插入数据2.ddl语句CREATE DATABASE - 创建新数据库 ALTER DATABASE - 修改数据库 CREATE TABLE - 创建新表 ALTER TABLE - 变更(改变

2022-04-23 14:58:42 3093

原创 web安全学习笔记--信息收集

一、中间件信息收集通过burp抓包网页

2022-04-21 17:37:21 1677

原创 web安全学习笔记--基础入门

一、名词1.DNS(域名系统):将域名和IP地址相互映射的一个分布式数据库,便于用户访问;UDP/TCP端口为53,利用cmd中ping命令可以查看域名所对应的ip号2.CDN(内容分发网络):将网络的流量尽可能均匀分配到几个能完成相同任务的服务器或网络节点上,由此来避免部分网络节点过载二、网页基本架构1.常见的脚本语言:php、jsp、asp、aspx、javaweb、python、cgi等2.操作系统:windows、linux3.中间件:nginx、IIS、Tomcat、.

2022-04-21 13:47:45 5553

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除