SecurityOverride Decryption 部分解题思路

Level 1 : ROT13


ROT13加密,一种简单加密方式,详见百度百科,这里用python
shell直接解密

1 ‘grfg110, jung vf Frgrp Nfgebabzl‘.decode(‘rot13‘)

可得答案:‘test110, what is Setec
Astronomy‘

Level 2 :
 BASE64


base64 加密,详情百度,同上直接python
shell解密

‘VG9vIG1hbnkgc2VjcmV0cyB0ZXN0MTEw‘.decode(‘base64‘)

可得答案:‘Too many secrets
test110‘

Level  3
:Binary

这题是将明文转化为对应2进制编码,将所给2进制码逆转为ascii码即可,这里采用tools88.com的编码转换工具

得到答案:Binary makes a
l33t sig for 70051 users on this site, test110

Level 4 :LM Hash

LM Hash
详情见百度,Hash算法没辙,网上查表吧,这里提供两个查询链接供参考:

http://www.objectif-securite.ch/en/ophcrack.php

http://rainbowtables.it64.com/

Level 5 :MD5
Hash

依旧Hash算法,网上查询,这里提供两个个人认为比较好的查询网站:

cmd5:http://cmd5.com/

somd5:http://aiisoo.com/

PS:这题貌似有点坑,出的大部分密文都只能cmd5付费查询才有,当然,有条件的可以自己跑

Level 6 : SHA1
Hash

还是Hash
,网上查,这里提供一个网站:

http://cn.freemd5.com/

Level  7 :Custom
Encryption

自定义加密,题目提供加密测试,可输入自己的字符串得到相应加密结果,经几次测试可知:

加密方式为奇数序号字符ascii码-5,偶数序号字符ascii码+5(首字符算序号1)。

解密只需将密文奇数序号字符ascii码+5,偶数序号字符ascii码-5,这里用python小程序解决:

1 #! usr/bin/env/python
2 a=‘3ff0sk\\‘ #此处为密文 ‘3ff0sk‘ ,‘\‘字符为转义字符,因此需多一个转义字符转义‘\‘
3 l=[] #存放结果
4 for i in xrange(len(a)):
5 if i%2:#偶数序号(python以序号0开始计数)
6 l.append(chr(ord(a[i])-5))
7 else:#奇数序号
8 l.append(chr(ord(a[i])+5))
9 print ‘‘.join(l)

View
Code

Level 8 :XOR Encryption +
BASE64

异或加密后再base64加密,暂时无正规解题方法

Level 9 :Advanced Custom
Encryption

高级自定义加密,观察密文可发现:128重复出现多次,结合题目给出的加密测试可知:

128为明文加密后对每个字符加密结果的一个间断(break)。同Level7奇数序号加密方式相同,偶数序号加密方式也相同。

此处给出部分字符加密后对应密文(忽略间隔128),左排为奇数序号,右排为偶数序号位,

观察可发现偶数位后一个字符减前一个字符所得数值为一个递增数列,左边博主表示看不出规律

因此,本题亦暂无正规解题思路,奇数位仅能手动试出结果,无法计算得出。

-----------------------------------Mr.Rice--------------------------------------------

以上为网站securityoverride.org
 Decryption部分个人解题思路,仅供参考,欢迎交流探讨更多解题思路。

时间: 2024-10-29 12:35:26

SecurityOverride Decryption 部分解题思路的相关文章

securityoverridehacking challenge 解题思路汇总——JavaScript

通过了Advanced部分( securityoverridehacking challenge 解题思路汇总--Advanced),下面就进入JavaScript了.总的来说,这个部分比较简单,因为JavaScript是高度可控的东西.也就是说,安全角度而言,JavaScript是不可信的. 4        Javascript 4.1       Login Bypass 这题比较容易让人想多,逛了下hint,发现很简单.观察,首先请求了index.php,然后跳转到了fail.php,并

LeetCode解题思路:595. Big Countries

There is a table World +-----------------+------------+------------+--------------+---------------+ | name | continent | area | population | gdp | +-----------------+------------+------------+--------------+---------------+ | Afghanistan | Asia | 652

[LeetCode] 3Sum 解题思路

Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero. Note: Elements in a triplet (a,b,c) must be in non-descending order. (ie, a ≤ b ≤ c) The solut

leetCode 103.Binary Tree Zigzag Level Order Traversal (二叉树Z字形水平序) 解题思路和方法

Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given binary tree {3,9,20,#,#,15,7}, 3 / 9 20 / 15 7 return its zig

[LeetCode] 53. Maximum Subarray 解题思路

Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, given the array [-2,1,-3,4,-1,2,1,-5,4],the contiguous subarray [4,-1,2,1] has the largest sum = 6. 问题: 给定一个元素有正有负的数组,求最大连续子数组的和. 思路

[LeetCode] Maximum Gap 解题思路

Given an unsorted array, find the maximum difference between the successive elements in its sorted form. Try to solve it in linear time/space. Return 0 if the array contains less than 2 elements. You may assume all elements in the array are non-negat

[LeetCode] 234. Palindrome Linked List 解题思路

Given a singly linked list, determine if it is a palindrome. Follow up:Could you do it in O(n) time and O(1) space? 问题:给定一个单向列表结构,判断它是不是回文的. 补充:是否可以在 O(n) 时间,O(1) 额外空间下完成? 解题思路: 对于数组,判断是否是回文很好办,只需要用两个指针,从两端往中间扫一下就可以判定. 对于单向列表,首先想到的是,将列表复制一份到数组中,然后用上面

[LeetCode] Word Break 解题思路

Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words. For example, givens = "leetcode",dict = ["leet", "code"]. Return true because &

Larry's Array 解题思路及过程

先甩链接https://www.hackerrank.com/challenges/larrys-array 首先想到的一个思路是:从数列中找最小值并确定最小值的位置 1. 如果最小值的位置在数列的第一位,则在1..n中继续找次小值所在的位置(可以理解为移除首位的最小值,然后在剩余数列中寻找最小值): 2. 如果最小值的位置在数列的第二位,则选取0..3三个数组成子数列进行一次轮转将最小值移至首位 3. 如果最小值的位置在数列的第二位之后,则选取最小值之前的两个数与最小值一起组成子数列进行两次轮