10.NSCTF web200
那么如此看来,这题是一道关于PHP审计的题目。
首先观察代码,我们先把其中的一些重要的函数提出来一个一个解释一下:
(1) strrev:
strrev是一个将字符串进行翻转的函数。
(2) substr:
substr是一个取字符串子串的函数,其用法为strsub(str,初三数学上册期末试卷 start, length),第一个参数为字符串,第二个参数为起始位置,第三个参数为子串长度,返回的结果就是str字符串从start这个位置开始的长度为length的子串。
(3) ord:
ord函数的参数为字符串,此函数将返回字符串第一个字符的Acsii码。
(4) chr:
chr函数的参数为整型,此函数将从指定的ASCII值返回字符。
(5) “.”:
这其实不能算个函数,“.”在字符串中相当于我们Java中的“+”,用于连接字符串。
(6) ba64_encode:
如名,对字符串参数进行ba64编码,与之对应的解码函数为ba64_decode。
(7) 五一手抄报资料strlen:
strlen() 函数返回字符串的长度,中文字符串的处理使用 mb_strlen() 函数。
四川师范大学官网入口 (8) str_rot13:
如名,对字符串参数进行ROT13编码,ROT13是它自己本身的逆反;也就是说,要还原ROT13,套用加密同样的算法即可得。
解释完这些函数我们再来看这段代码,相信有点编程基础的同学都能看出来这段代码做了什么:首先是将原文进行反转,然后再将反转后的字符串的每一个字符值+1,接下来再进行ba64编码、反转和ROT13编码,得到我们的密文。想要得到原文,因为所有的操作都是可逆的,我们只需要将这些步骤反着来一遍即可:
a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqG糖醋鱼的家常做法A3RQAyumZ0tmMvSGM2ZwB4tws
=》rot13解码:
n1mYotDfPRFRVdEYjhDNlZjYld2Y5IjOkdTN3EDNlhzM0gzZiFTZ2MjO4gjf
=>rever:
fjg4OjM2ZTFiZzg0MzhlNDE3NTdkOjI5Y2dlYjZlNDhjYEdVRFRPfDtoYm1n
=》ba64解码:
~88:36e1bg8438e41757d:29cgeb6e48c`GUDTO|;hbmg
如果使用代码的话:
<?php$_code="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";$_code=str_rot13($_code);$_code=strrev($_code);$_code=ba64_decode($_code);echo$_code;?>
继续解密:
<?php $_o="~88:36e1bg8438e41757d:29cgeb6e48c`GUDTO|;hbmg"; $_=""; for($_0=0;$_0<strlen($_o);$_0++){ $_c=substr($_o,$_0,1); $__=ord($_c)-1; $_c=chr($__); $_=$_.$_c; } $_=strrev($_); echo $_; ?>
这里在提供一个python脚本:
#__author__ = 'Cr408'import sys,ba64from string import maketransdef rot13(data):intable = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'outtable = 'NOPQRST唱歌的技巧与诀窍UVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm'table = maketrans(intable,outtable)return data.translate(table)if __name__ == '__main__':data = sys.argv[1]data = rot13(data)data = data[::-1]data = ba64.b64decode(data)result=''for i in data:result += chr(ord(i)-1)result = result[::-1]print result
本文地址:/d/file/titlepic/108239026
本文发布于:2023-04-08 22:56:34,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/a36bf155f74bf7de9c6171f0868e7393.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:CTF.doc
本文 PDF 下载地址:CTF.pdf
留言与评论(共有 0 条评论) |