玩转YY老师服务器(下)之自动化刷题脚本编写
我在上篇文章中已经写过了如何编写IDA的插件来实现伪代码的还原。那我们接下来就可以用Python批量的来完成这件事,也就是实现自动化刷题,用脚本登录yy老师的网站并下载例程,在IDA命令行模式下完成反编译并用上篇文章中写的插件还原C++代码后提交代码,以此完成整个流程。由于我的学号已经无法登录YY老师的网站了,所以我就借我想学习C和C++的理由向YY老师重新要了账号,不过YY老师挺好的,直接就给我了。
我在上篇文章中已经写过了如何编写IDA的插件来实现伪代码的还原。那我们接下来就可以用Python批量的来完成这件事,也就是实现自动化刷题,用脚本登录yy老师的网站并下载例程,在IDA命令行模式下完成反编译并用上篇文章中写的插件还原C++代码后提交代码,以此完成整个流程。由于我的学号已经无法登录YY老师的网站了,所以我就借我想学习C和C++的理由向YY老师重新要了账号,不过YY老师挺好的,直接就给我了。
时隔两年,转眼间发现自己已经大三了。YY老师的服务器我大一进校的时候就一直在玩,但之前都没有在博客上写过,熟悉我的朋友都知道我主要是大一的时候在搞,我不仅不在上面做题,还有事没事就去挖他服务器上的漏洞,当时觉得贼有意思。不过都是过去的事了,过了两年,再去看他的服务器,似乎又能玩出新花样了。有了骚的思路直接干就好了,所以就有了这篇文章。
建议大家使用IDA 7.0以上版本,本文插件基于IDA7.0编写。
我对代码审计的题熟悉些,就把这部分先做完了。因为上面的题是来自以前各个ctf比赛和平台的一些题,我就把我的解题思路再写一下,算是总结归纳吧。 阅读更多
首先声明,本文是我真实的挖洞经历。撰写本文时厂商已修复该漏洞,相关漏洞也提交给了补天。本文不涉及任何利益相关,给出的代码也对URL做了处理,纯粹是挖洞经验的总结和技术分享,望周知!
Aria2是一个命令行下轻量级、多协议、多来源的下载工具(支持 HTTP/HTTPS、FTP、BitTorrent、Metalink),内建XML-RPC和JSON-RPC接口。在有权限的情况下,我们可以使用RPC接口来操作aria2来下载文件,将文件下载至任意目录,造成一个任意文件写入漏洞。 阅读更多
本来这几天是计划阅读string模块的源码,恰好其中一段异常处理的代码我觉得很新奇,也就是raise…from的用法,raise的用法大家都知道。因为我之前没遇到过,所以就去网上查了相关的资料,自己试验一下。 阅读更多
本来是打算第二篇写string模块的,但是读完源码后发现很多部分涉及到re模块的内容,就索性先把re模块的源码看了。通读re的源码后发现代码量并不大,很多正则匹配实际是由更底层的sre_compile和sre_parse这两个库来实现的,re模块不过是各种正则方法的封装而已。
阅读Python标准库源码是我一直都有的一个计划,趁着暑假的时间。看了半个月OS模块的源码,反复分析做笔记,把文档中的一些注释也做了翻译。这也是一个提升。我这里用的是python 3.6的标准库源码。因为os模块的源码都很长且注释较多,所以我的想法是将其中每一段代码或者函数按顺序单独拿出来分析学习。由于篇幅太长,我将代码分析分为上下两部分。