将两部分相加,得到key。 result += str(hex(ord(flag[i])^key))[2:].zfill(2):这行代码执行了几个操作。 ord(flag[i]):获取flag字符串中第i个字符的 ASCII 值。 ord(flag[i])^key:将上述 ASCII 值与key进行按位异或操作。 hex(...):将异或结果转换为十六进制字符串。 str(hex(...))[2:]:...
[SWPUCTF 2021 新生赛]简简单单的逻辑 得到一个.py文件,一般是没壳的,不过还是要养成习惯,查个壳: 意料之中,啥也没有,打开文件: 给了我们一个加密逻辑,然后最后一行给了一个结果:那么就是根据上述的逻辑,反解密出flag就好了 分析一下上述逻辑: 首先对list进行变化得到key的值(怎么变化不用理,因为用不到,...
十六进制转十进制print(int('a',16)) #10 zfill()函数:https://www.runoob.com/python/att-string-zfill.html 学会以上知识点就有基础了,接下来就是解析逆向语法了 加密代码分析: key的值是一成不变的所以不要管,可以照着使用 str(hex(ord(flag[i])^key));这个代码就是先把字符串转换为ASC...
这个是url加密 enc = urllib.parse.quote(enc) 解密形势,也可以直接网上url解密然后把值带入,直接忽略这一步 enc = urllib.parse.unquote(enc) # 解密代码: importbase64,urllib.parse key="HereIsFlagggg"enc="%C2%A6n%C2%87Y%1Ag%3F%C2%A01.%C2%9C%C3%B7%C3%8A%02%C3%80%C2%92W%C3%8C%C...
[SWPUCTF 2021 新生赛]easyrce解题思路 我们首先看到题目 我们可以看到他的php代码写的很简单,我们需要以get的方式传入一个url参数,然后会执行url,也就是说我们这一题可以使用rce。 我们使用system命令,让他执行,然后就简单了,我们先使用最简单的ls看看能不能成功。
[SWPUCTF 2021 新生赛]easyrce-解题思路 一、对于题目环境中函数的一些理解: 1. 屏蔽所有报错信息的函数。 error_reporting(0); 2. 对文件进行语法高亮显示的函数。 highlight_file(); 3. 环境中重要的代码段。 if(isset($_GET['url']))#isset函数用来检测url变量是否存在;$_GET函数获取变量数据{eval($...
[SWPUCTF 2021 新生赛]jicao 打开,是一小段PHP代码。 有可能你是第一次接触。我解释的详细些 index.php这个一般为网站的页面首页 包含了flag.php 这个文件 id,json为变量,分别用POST 和GET的方式来接收数据。 其中json_decode()函数是对一串JSON进行解码,所以要传json格式 ...
[SWPUCTF 2021 新生赛]PseudoProtocols解题思路 首先我们看到这道题的页面 首先是有两个信息,一个hint.php;一个是url中的wllm= 感觉是用filter来读取文件,我们可以试试。 读取成功,这里是使用到了php伪协议,但是上面的payload就讲了,之前的一篇文章有讲解这个payload,然后我们现在讲这段base64解码一下因该就可以...
[SWPUCTF 2021 新生赛] hardrce wp Hello大家好 ! 今天分享的是 swpu的新生赛的一道rce题目的wp 感兴趣的小伙伴可以在题目入口进去进行尝试 !!! Table of Contents 题目分析: 分析代码: 题目解决: 总结: 题目分析: 分析代码: 首先传入参数 wllm 很明显可以看到 函数 eval($wllm) . 一眼rce ...
CTF笔记 [SWPUCTF 2021 新生赛]pop 文章目录 一些常见魔术方法 [SWPUCTF 2021 新生赛]pop 总结 这一类题目比较考验对一段代码的逻辑方面的理解,通过利用魔数方法进行互相调用,形成一条链子,利用这条链子将对象联系起来去拿flag。 (比较菜的我做了4道题目才理解了这类题目,你们应该比我强)...