这次参与了ByteCTF,尝试做了boringcode和EZCMS。虽然都没做出来,但是学到了很多东西。

这次通过ALTM4NZ师傅的wp来分析一下boringcode这道题并学习一下无参数函数的利用。

boringcode

看一下代码:

这个页面的作用是,接受一个url参数,利用file_get_content远程获取url页面的源码,传递给eval执行。但在url传递和源码传递过程中有各种检测。

mehr

前言

除了unserialize()来利用反序列化漏洞之外,还可以利用phar文件以序列化的形式存储用户自定义的meta-data这一特性,扩大php反序列化漏洞的攻击面。该方法在文件系统函数(file_exists()、is_dir()等)参数可控的情况下,配合phar://伪协议,可以不依赖unserialize()直接进行反序列化操作。

这次在比赛当中遇到phar反序列化,却不知道如何下手。社区里前面也有人总结过,但没有包括一些ctf利用和zxc师傅发现的姿势。于是就自己来整理了。

mehr

Threezh1 2019年8月22日

最近在接触一下协程,上手不易,拖了很长时间才把这个小框架完成。有些地方很简陋,后面慢慢完善吧。

做这个的想法是方便自己后面编写需要用到协程的脚本。(还有忘记协程的知识点了就过来复习)

mehr

1. exec()

使用exec来执行Python导入模块的命令。

2. __import__()

单独使用__import__() 可以直接加载模块,但是当需要动态加载类、函数时,就需要配合getattr来实现。

实现步骤:

  1. 获取模块名(module_name)
  2. 使用__import__(module_name)导入Python模块
  3. 使用getattr(module_name, class_name/function_name)获取类、方法的对象

mehr

最近吃饭的时候总是会想很多关于易语言的事情。易语言是我学会的第一门语言,虽然它被喷的很惨很惨,具体可见:易语言 知乎。但是由于它极高的上手性,还是成为我高中时期最喜欢的编程工具。(当时我还没听说过Python)易语言画界面是非常简单的,用鼠标拖动一下组件,简简单单的几句代码就可以写一个简单的GUI程序。我想,在界面化的程序上,除了Web程序上用Javascript和CSS画界面。对于我这样懒惰的人,易语言无非是一个比较好的选择。Python,熟悉易语言的我在刚学Python时极度不适应,但是在学习了一段时间之后,我就改变了我的想法,Python真的太舒服了…

mehr

文章已投稿至先知社区,具体内容:从CTF题中学习几种有趣(奇怪)的SQL注入

1.异或注入

题目地址:http://119.23.73.3:5004/

在一个师傅的博客中看到这题的Writeup,尝试按照他的payload进行复现,怎么都复现不出来。后来在安全客上看到另一篇异或注入的文章,才把这个题解决了。

初步测试之后会发现,题目过滤了空格,+,*,or,substr…等一些字符。而且#号注释也不起作用。

于是尝试异或注入。

http://119.23.73.3:5004/?id=1'^'1    返回错误
http://119.23.73.3:5004/?id=1'^'0    返回正常

mehr

第一次打强网杯,没想到这么难,萌新瑟瑟发抖。BY Threezh1

题目有点绕,看了半天都没找到重点。后面还是靠学长给的payload思路理清楚了过程。这里就记录一下,学习学习。

mehr

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×