0%

[N1CTF2020]DockerManager

一万年没刷buu的题,今天看到群里赵总丢了这个题的wp,粗略看了下感觉有点意思,就立即进行一个buu的复现。。。。

题解

题目给了附件,包括Dockerfile,里面有一句chmod 777 /var/www/html/img/
img目录可写
看源码,index.php锤子用没有,view.php写了一个curl的exec
接受了一大堆参数,host在拼了一堆乱七八糟的东西之后过了一个escapeshellarg(),

$host_addr .= $mode . '?all=true';
$host_addr = escapeshellarg($host_addr);
阅读全文 »

Java反序列化入门

最近打工需要学这个,同样是反序列化,Python和PHP的就好理解多了,Java的果然还是复杂不少。。。
主要是对Java的各种架构也都不怎么理解,需要进行一个从零开始的入门
呜呜呜我好菜

Java反射机制

反射是Java反序列化的一大关键利用点
说实话,一开始完全看不懂为什么要叫反射这么个名字,我觉得应该先明白反射是怎么回事,如下反射介绍部分均参考文末大哥链接,”正射”这个概念的提出感觉就让人豁然开朗了,很强

“反射”

阅读全文 »

[祥云杯2020]云比赛记录

前两天祥云杯师傅们大力输出,我大力划水看了一个题,今天比赛结束看wp开始学习

学习之前先批评一下这个比赛的py程度,可能是20w的烂钱太过诱人,导致大家的py程度前所未有的高,py的具体内容见这篇知乎回答
mbg.jpg

flaskbot

是先猜数字再SSTI,SSTI经典过滤,然后额外过了了通配符和flag
猜数字是在限制范围内二分猜50次,理论上必然猜对
但是我可以直接进行一个NAN的输入,很有意思的是NAN不大于任何数,也不小于任何数,但你把它当数字输入也不报错,这样子就直接过了猜数字
SSTI只会抄payload,过滤了一下没调通,抄的任意文件读能用,读了下源码看过滤,flag位置没找到,还是要拼字符串去执行命令
经典字符串加法过过滤
{{joiner.__init__.__globals__.__builtins__['__impo'+'rt__']('o'+'s')['po'+'pen']('c'+'at /super_secret_fl'+'ag.txt').read()}}

阅读全文 »

HTTPS代理原理

摸了两天的鱼,今天晚上找了一晚上资料把这段补上
HTTPS系列学习的根本原因都是因为最近在学习代理怎么用,然后对在代理下运行的HTTPS安全性产生了一定的困惑,加之以burp能明文抓取HTTPS包,更加困惑了

今天最后翻到了一个国外超级大哥文章的翻译,感觉是众多资料中讲的最清楚的了
在一切开始之前,先回顾一下https链接建立到TLS握手之间的操作

正常的HTTPS链接建立过程

再摸一个图出来
HTTPS链接建立
可以看到,大家还是老老实实先来一个TCP三次握手,先把TCP层面的链接建立起来,然后开始进行TLS的握手,client hello,server hello+证书,随机数验证blblbl,走上上篇文章讲到的HTTPS认证过程的老路,这里重复一次的意义就是引入这个TCP链接建立过程,方便后面讲

阅读全文 »

HTTPS证书吊销

事情要说我想申请一个通配符证书说起,从通配符证书到let’s encrypt到OCSP服务器被墙到学习HTTPS证书吊销的奇怪学习链

先在这推荐一下let’s encrypt,免费发放通配符证书,再也不要一个子域名一个子域名的申请啦
证书有效期只有三个月,可以自动更新,但是自动更新需要的OCSP服务器被墙,导致了这篇文章的出现,愚蠢的解决方案是每三个月重新申请新的证书

HTTPS认证过程

在这之前,先简单的复习一下HTTPS到底是怎么完成双向认证的
https认证
1.服务器向客户端发送证书和公钥,客户端看一下证书的签发单在不在本地安装的证书里面,再看看过期时间,域名对应之类的,用发过来的公钥算一下这个证书和签名对不对得上,有机会还会看看这个证书是不是被吊销了(这就是这篇文章的主题所在)
2.验证通过,客户端产生一个随机数,用公钥加密还给服务器,服务器解密之后这个随机数就是两方的对称加密密钥了
3.开始用对称密钥通信

阅读全文 »