Kingkk's Blog.

Kingkk's Blog.

Web dog一枚/渴望挖洞补贴家用

Flask debug pin安全问题
前言之前在国赛决赛的时候看到p0师傅提到的关于Flask debug模式下,配合任意文件读取,造成的任意代码执行。那时候就很感兴趣,无奈后来事情有点多,一直没来得及研究。今天把这个终于把这个问题复现了一下 主要就是利用Flask在debug模式下会生成一个Debugger PIN 12345kingkk@ubuntu:~/Code/flask$ python3 app.py * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Deb...
docker 笔记
前言上学期寒假开始就稍微了解了下docker,无奈用的不是很多,也不是很懂 后来被强制性要求使用了几次docker(不得不说,安装配置问题一直令我很头大),就也算勉强能起来一个服务了 用了几次之后就决定系统的总结一下docker的使用,因为只是一些总结,更多的只是针对于我个人用的,不官方,不权威,不系统 Docker的三大概念镜像(Images) Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 可以通过docker...
迟学的哈希长度扩展攻击
前言本来这个哈希长度扩展攻击应该在一年前刷实验吧的时候就应该解决的。但是由于那时候实在看不懂,再加上有点偷懒,就把这部分给跳了时隔一年,在学习中偶尔有碰到这个(虽然不是很多),感觉没有想象中那么鸡肋,就决定重新捡起来学习一下 不过,就算过了一年,发现依旧是那么菜,看了一整天的分析博客,才勉强理清逻辑 攻击的用途和原理用途感觉这个还是很重要的,更多时候需要知道的是怎么用,在什么环境下才能利用这种漏洞 12在 $hash = md5($secret.$key) 中已知 $hash 和 $key 以及 $secret 的长度时 可以找到另一个 $_hash 和 $_key 使得 ...
Typecho反序列化漏洞复现
前言之前一直就听过这个漏洞,影响还是蛮大的。但是之前一直没有时间复现。最近想着没有搞过这个类型的漏洞,恰好这里有一个活生生的案例,就把php反序列化总结了下,分析了下这个漏洞。看完分析文章,我只想说,流批。叫我就算告诉我这有漏洞我也找不到触发链。orz 漏洞分析漏洞发生在install.php中。直接搜索unserialize关键字就能找到,大约283行的样子1$config = unserialize(base64_decode(Typecho_Cookie::get('__typecho_config'))); 跟进Typecho_Cookie中的get方法123456publi...
php反序列化漏洞
序列化与反序列化目的和意义 序列化:把对象转换为字节序列的过程。反序列化:把字节序列恢复为对象的过程。 其目的是为了将一个对象通过可保存的字节方式存储起来这样就可以将学列化字节存储到数据库或者文本当中,当需要的时候再通过反序列化获取 类的序列化在反序列化对象之后,需要当前作用域中存在该类的定义,否则php无法将类对应到指定类12$ser = 'O:6:"kingkk":1:{s:4:"test";s:3:"123";}';print_r(unserialize($ser)); 运行结果:12345__PHP_Incomplete_Class Object( ...
简析XXE
XML更详细的XML介绍 https://blog.csdn.net/com_ma/article/details/73277535 个人理解XML是一种较为通用的数据交互格式,在json出现之前较为流行,近几年逐渐被json所替代。XML的格式类似于html,是html的超集。用于标记数据,大多数编程语言也内置了对XML的处理 XML格式主要由XML声明、文档类型定义(DTD)、文档元素构成12345678910111213141516<?xml version="1.0" ?> <!-- XML声明 --><!DOCTYPE note[ &l...
phpinfo with LFI
phpinfo with LFI利用场景当存在一个任意文件包含的页面,然而又找不到可以包含的文件,且有phpinfo页面时可以利用phpinfo页面,找到上传的tmp文件,进行条件竞争,生成想要获得shell 利用原理在对一个页面进行文件上传时,无论这个页面将来是否要利用这个文件,php都会将这个文件保存成一个临时文件,默认为 tmp/php[\d\w]{6}关于这个文件的信息可以通过$_FILES变量获取,这个临时文件将在脚本执行结束时被php销毁 对一个phpinfo页面上传文件时,可以在phpinfo中找到该临时文件的文件名 此时,我们可以利用条件竞争,在php文件销毁之前利用...
phpcms 漏洞分析
phpcms v9.6.0 前台getshell漏洞分析漏洞发生在phpcms9.6.0\phpcms\modules\member\index.php 中的register函数,也就是对应着注册功能主要关注130行-136行之间的代码12345678//附表信息验证 通过模型获取会员信息if($member_setting['choosemodel']) { require_once CACHE_MODEL_PATH.'member_input.class.php'; require_once CACHE_MODEL_PATH.'member_update.class....
随笔-7.3
随笔-7.3又是一个学期的期末,由于突然做完了手头的一些事情,但又没有大量空余的时间学习。不知道干什么好的我还是随便写篇随笔吧。 这应该算是变化比较大的一个学期了。一个学期前还在考虑安全到底能不能当饭吃。如今实验室的三个学长也都到找了工作和实习。至少对在网安这路上的前行打了一剂强心针吧。这学期一开学,组长刚刚学了一寒假的pwn,应该算是刚入门吧。有了pwn选手之后的我们,差不多打了连续两个月的ctf。一开始是一些xctf的比赛,然后强网杯、DDCTF,可能反而越是到后来,就是打一些学校重视,类似于国赛这些。打ctf的过程其实也收获了很多。之前的我有时候看到ctf的writeup,总觉...
Metinfo v6.0.0 getshell in background
Metinfo v6.0.0 后台getshell漏洞分析漏洞发生在metinfo6\admin\column\save.php约32行处的column_copyconfig函数12345678910111213141516171819202122232425262728293031require_once '../login/login_check.php';require_once 'global.func.php';if($action=="editor"){ if($name=='')metsave('-1',$lang_js11); if($if_in==1 and ...
kingkk
witness me
FRIENDS
mt FAtwAER