---恢复内容开始---

1、滴答滴

摩斯密码,http://tool.bugku.com/mosi/

2、聪明的小羊

从提示猜是栅栏密码,http://tool.bugku.com/jiemi/

3、ok

看格式是ook

https://tool.bugku.com/brainfuck/

4、这不是摩斯密码

看格式很像是brainfuck

试了下https://tool.bugku.com/brainfuck/ 解决

5、easy crypto

稍稍变化了一下的摩斯,还是用

http://tool.bugku.com/mosi/

但不知道为啥我提交的flag总是说不对。。

6、简单加密

最后的AA有点像是base64的==,又看了下A和=的整数只差了4,所以猜测是先base64,后凯撒

s=密文

ss = ''.join([char(ord(i)-4) for i in s])

r = base64.b64decode(ss)

7、散乱的密文

从提示看显然是置换密码

http://tool.bugku.com/jiemi/

8、+[]-

显然brainfuck

https://tool.bugku.com/brainfuck/

9、.!?

显然ook

https://tool.bugku.com/brainfuck/

10、一段base64

 from base64 import b64decode
import re
def conv(s,pattern,base):
t = re.findall(pattern,s)
t = [chr(int(i,base)) for i in t]
return ''.join(t) with open('1.txt','r') as f:
s = f.read()
s = b64decode(s).decode()
print(s[:100])
s = conv(s,r'\\(\d+)',8)
print(s[:100])
s = conv(s,r'\\x([0-9a-fA-F]+)',16)
print(s[:100])
s = conv(s,r'\\u([0-9a-fA-F]+)',16)
print(s[:100])
s = s[20:-1]
s = eval('['+s+']')
s = [chr(i) for i in s]
s = ''.join(s)
print(s[:100])
s = conv(s,r'&#x([0-9a-fA-F]+);',16)
print(s[:100])
s = conv(s,r'&#([0-9a-fA-F]+)',10)
print(s[:100])
s = s.replace('%7B',chr(0x7B))
s = s.replace('%7D',chr(0x7D))
print(s)

11、奇怪的密码

最前面两个字母是g和n。g和f相差一,n和l相差2.所以猜测是不是第一个-1,第二个字母-2.。。。这样子解密。

写个脚本试验下。

 s = 'gndk€rlqhmtkwwp}z'
ss = ''
c = 1
for i in s:
ss += chr(ord(i)-c)
print(ss)

输出为flag₧lei_ci_jiami

中间的₧是一个非ascii字符。手动整理成flag{lei_ci_jiami}提交就可以了。

话说在非ascii字符这里折腾了好久,以为是编码方面的问题,没想到直接去掉再加上大括号提交居然是对的。

12、凯撒大帝的奖励

根据提示应该是凯撒密码

丢到http://tool.bugku.com/jiemi/里,列出所有组合

MSW{byly_Cm_sIol_lYqUlx_yhdIs_Cn_Wuymul_il_wuff_bcg_pCwnIl_cm_u_Yrwyffyhn_guh_cz_sio_quhn_ni_ayn_bcm_chzilguncihm_sio_wuh_dich_om}
NTX{czmz_Dn_tJpm_mZrVmy_zieJt_Do_Xvznvm_jm_xvgg_cdh_qDxoJm_dn_v_Zsxzggzio_hvi_da_tjp_rvio_oj_bzo_cdn_diajmhvodjin_tjp_xvi_ejdi_pn}
OUY{dana_Eo_uKqn_nAsWnz_ajfKu_Ep_Ywaown_kn_ywhh_dei_rEypKn_eo_w_Atyahhajp_iwj_eb_ukq_swjp_pk_cap_deo_ejbkniwpekjo_ukq_ywj_fkej_qo}
PVZ{ebob_Fp_vLro_oBtXoa_bkgLv_Fq_Zxbpxo_lo_zxii_efj_sFzqLo_fp_x_Buzbiibkq_jxk_fc_vlr_txkq_ql_dbq_efp_fkclojxqflkp_vlr_zxk_glfk_rp}
QWA{fcpc_Gq_wMsp_pCuYpb_clhMw_Gr_Aycqyp_mp_ayjj_fgk_tGarMp_gq_y_Cvacjjclr_kyl_gd_wms_uylr_rm_ecr_fgq_gldmpkyrgmlq_wms_ayl_hmgl_sq}
RXB{gdqd_Hr_xNtq_qDvZqc_dmiNx_Hs_Bzdrzq_nq_bzkk_ghl_uHbsNq_hr_z_Dwbdkkdms_lzm_he_xnt_vzms_sn_fds_ghr_hmenqlzshnmr_xnt_bzm_inhm_tr}
SYC{here_Is_yOur_rEwArd_enjOy_It_Caesar_or_call_him_vIctOr_is_a_Excellent_man_if_you_want_to_get_his_informations_you_can_join_us}
TZD{ifsf_Jt_zPvs_sFxBse_fokPz_Ju_Dbftbs_ps_dbmm_ijn_wJduPs_jt_b_Fydfmmfou_nbo_jg_zpv_xbou_up_hfu_ijt_jogpsnbujpot_zpv_dbo_kpjo_vt}
UAE{jgtg_Ku_aQwt_tGyCtf_gplQa_Kv_Ecguct_qt_ecnn_jko_xKevQt_ku_c_Gzegnngpv_ocp_kh_aqw_ycpv_vq_igv_jku_kphqtocvkqpu_aqw_ecp_lqkp_wu}
VBF{khuh_Lv_bRxu_uHzDug_hqmRb_Lw_Fdhvdu_ru_fdoo_klp_yLfwRu_lv_d_Hafhoohqw_pdq_li_brx_zdqw_wr_jhw_klv_lqirupdwlrqv_brx_fdq_mrlq_xv}
WCG{livi_Mw_cSyv_vIaEvh_irnSc_Mx_Geiwev_sv_gepp_lmq_zMgxSv_mw_e_Ibgippirx_qer_mj_csy_aerx_xs_kix_lmw_mrjsvqexmsrw_csy_ger_nsmr_yw}
XDH{mjwj_Nx_dTzw_wJbFwi_jsoTd_Ny_Hfjxfw_tw_hfqq_mnr_aNhyTw_nx_f_Jchjqqjsy_rfs_nk_dtz_bfsy_yt_ljy_mnx_nsktwrfyntsx_dtz_hfs_otns_zx}
YEI{nkxk_Oy_eUax_xKcGxj_ktpUe_Oz_Igkygx_ux_igrr_nos_bOizUx_oy_g_Kdikrrktz_sgt_ol_eua_cgtz_zu_mkz_noy_otluxsgzouty_eua_igt_puot_ay}
ZFJ{olyl_Pz_fVby_yLdHyk_luqVf_Pa_Jhlzhy_vy_jhss_opt_cPjaVy_pz_h_Lejlsslua_thu_pm_fvb_dhua_av_nla_opz_pumvythapvuz_fvb_jhu_qvpu_bz}
AGK{pmzm_Qa_gWcz_zMeIzl_mvrWg_Qb_Kimaiz_wz_kitt_pqu_dQkbWz_qa_i_Mfkmttmvb_uiv_qn_gwc_eivb_bw_omb_pqa_qvnwzuibqwva_gwc_kiv_rwqv_ca}
BHL{qnan_Rb_hXda_aNfJam_nwsXh_Rc_Ljnbja_xa_ljuu_qrv_eRlcXa_rb_j_Nglnuunwc_vjw_ro_hxd_fjwc_cx_pnc_qrb_rwoxavjcrxwb_hxd_ljw_sxrw_db}
CIM{robo_Sc_iYeb_bOgKbn_oxtYi_Sd_Mkockb_yb_mkvv_rsw_fSmdYb_sc_k_Ohmovvoxd_wkx_sp_iye_gkxd_dy_qod_rsc_sxpybwkdsyxc_iye_mkx_tysx_ec}
DJN{spcp_Td_jZfc_cPhLco_pyuZj_Te_Nlpdlc_zc_nlww_stx_gTneZc_td_l_Pinpwwpye_xly_tq_jzf_hlye_ez_rpe_std_tyqzcxletzyd_jzf_nly_uzty_fd}
EKO{tqdq_Ue_kAgd_dQiMdp_qzvAk_Uf_Omqemd_ad_omxx_tuy_hUofAd_ue_m_Qjoqxxqzf_ymz_ur_kag_imzf_fa_sqf_tue_uzradymfuaze_kag_omz_vauz_ge}
FLP{urer_Vf_lBhe_eRjNeq_rawBl_Vg_Pnrfne_be_pnyy_uvz_iVpgBe_vf_n_Rkpryyrag_zna_vs_lbh_jnag_gb_trg_uvf_vasbezngvbaf_lbh_pna_wbva_hf}
GMQ{vsfs_Wg_mCif_fSkOfr_sbxCm_Wh_Qosgof_cf_qozz_vwa_jWqhCf_wg_o_Slqszzsbh_aob_wt_mci_kobh_hc_ush_vwg_wbtcfaohwcbg_mci_qob_xcwb_ig}
HNR{wtgt_Xh_nDjg_gTlPgs_tcyDn_Xi_Rpthpg_dg_rpaa_wxb_kXriDg_xh_p_Tmrtaatci_bpc_xu_ndj_lpci_id_vti_wxh_xcudgbpixdch_ndj_rpc_ydxc_jh}
IOS{xuhu_Yi_oEkh_hUmQht_udzEo_Yj_Squiqh_eh_sqbb_xyc_lYsjEh_yi_q_Unsubbudj_cqd_yv_oek_mqdj_je_wuj_xyi_ydvehcqjyedi_oek_sqd_zeyd_ki}
JPT{yviv_Zj_pFli_iVnRiu_veaFp_Zk_Trvjri_fi_trcc_yzd_mZtkFi_zj_r_Votvccvek_dre_zw_pfl_nrek_kf_xvk_yzj_zewfidrkzfej_pfl_tre_afze_lj}
KQU{zwjw_Ak_qGmj_jWoSjv_wfbGq_Al_Uswksj_gj_usdd_zae_nAulGj_ak_s_Wpuwddwfl_esf_ax_qgm_osfl_lg_ywl_zak_afxgjeslagfk_qgm_usf_bgaf_mk}
LRV{axkx_Bl_rHnk_kXpTkw_xgcHr_Bm_Vtxltk_hk_vtee_abf_oBvmHk_bl_t_Xqvxeexgm_ftg_by_rhn_ptgm_mh_zxm_abl_bgyhkftmbhgl_rhn_vtg_chbg_nl}
然后肉眼搜索,发现有一行居然有意义,提交了下就是对的。

13、进制转换

打开题目一看,最喜欢这种题目了。最怕的是没思路,只要有思路写脚本就好了。

s = 'd87 x65 x6c x63 o157 d109 o145 b100000 d116 b1101111 o40 x6b b1100101 b1101100 o141 d105 x62 d101 b1101001 d46 o40 d71 x69 d118 x65 x20 b1111001 o157 b1110101 d32 o141 d32 d102 o154 x61 x67 b100000 o141 d115 b100000 b1100001 d32 x67 o151 x66 d116 b101110 b100000 d32 d102 d108 d97 o147 d123 x31 b1100101 b110100 d98 d102 b111000 d49 b1100001 d54 b110011 x39 o64 o144 o145 d53 x61 b1100010 b1100011 o60 d48 o65 b1100001 x63 b110110 d101 o63 b111001 d97 d51 o70 d55 b1100010 d125 x20 b101110 x20 b1001000 d97 d118 o145 x20 d97 o40 d103 d111 d111 x64 d32 o164 b1101001 x6d o145 x7e'
s = s.split(' ')
for i in range(len(s)):
if s[i][0]=='d':
s[i] = int(s[i][1:],10)
elif s[i][0]=='x':
s[i] = int(s[i][1:],16)
elif s[i][0]=='o':
s[i] = int(s[i][1:],8)
elif s[i][0]=='b':
s[i] = int(s[i][1:],2)
s = ''.join([chr(i) for i in s])
print(s)

14、告诉你个秘密

 s = '636A56355279427363446C4A49454A7154534230526D684356445A31614342354E326C4B4946467A5769426961453067'
t = []
while len(s)>0:
n = s[:2]
s = s[2:]
t.append(int(n,16))
s = [chr(i) for i in t]
s = ''.join(s)
print(s)
import base64
t = base64.b64decode(s).decode()
print(t)

得到r5yG lp9I BjM tFhBT6uh y7iJ QsZ bhM

然后我就不会了。。

所以。。百度。哇,原来还有键盘密码这种东东

顺便还了解了下猪圈密码。。。

这个脑洞真的大。。

拿r5yG来说,低头看键盘,这5个字符所在的按键是不是包着字母t,所以着五个字母解密出来就是t。。

15、这不是md5

一看这个形式,首先肯定是16进制,然后有很多6和3,估计就是ascii了。

 s = '666c61677b616537333538376261353662616566357d'
t = ''
while len(s)>0:
t += chr(int(s[:2],16))
s = s[2:]
print(t)

bugku 密码学一些题的wp的更多相关文章

  1. Bugku 杂项 签到题

    签到题 加微信公众号会发现

  2. hectf2020部分简单题题解wp

    HECTF 我真是又菜又没时间肝题..又又又只水了波简单题... Reverse 1.Hello_Re file查一波 32bit,拖进IDA中 老规矩shift+F12 查看字符串: 跳转 F5查看 ...

  3. bugku ctf 逆向题

    1.逆向入门 2.Easy_vb 直接找出来. 3.easy_re 4.游戏过关 摁着嗯着就出来了... 5.Timer{阿里ctf} apk文件,不会搞. 6.逆向入门 发现是base64,直接转图 ...

  4. BUGKU web刷题记录

    web1 直接F12查看源码,得到flag. web2 直接输入验证码答案,长度被限制,修改可输入长度,提交后得到flag. web3 $what=$_GET['what']; echo $what; ...

  5. 2019"深思杯"山东省大学生网络安全技能大赛部分wp

    签到 载入OD查看字符串 上下左右 这道题出来的时候真的是一点思路都没有,一直以为是什么编码来着,看了大佬们的 wp 原来是画图 拿大佬的脚本: from PIL import Image im = ...

  6. MRCTF 2020 WP

    MRCTF 2020 WP 引言 周末趁上课之余,做了一下北邮的CTF,这里记录一下做出来的几题的WP ez_bypass 知识点:MD5强类型比较,is_numeric()函数绕过 题目源码: I ...

  7. 【wp】2020XCTF_逆向

    前几天的XCTF最后一场终于打完了,三场比赛下来对逆向部分的大概感觉是从第一场的啥都不会做(一道lua+一道apk)到后来的终于能有参与度,至少后两场的题目都是pc逆向,虽然特殊架构但好歹能做(tcl ...

  8. CTF:从0到1 -> zero2one

    本篇blog首发0xffff论坛(CTF:从0到1->zero2one - 0xFFFF),中间有各位大佬补充,搬到了个人博客CTF:从0到1 -> zero2one | c10udlnk ...

  9. CHIMA网络安全攻防大赛经验分享

    比赛模式 第一轮:20分钟基础知识赛(50道题) 安全运维,法律法规,linux操作系统等 第二轮:50分钟CTF夺旗(5道题) 题目涵盖 密码学 运用多种工具,如ASCII对照,古典密码,凯撒密码, ...

随机推荐

  1. git版本控制系统更新

    版本控制系统: 一.概念: 版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 二.版本控制系统分类 1.本地版本控制 ...

  2. 数据库数据迁移 SqlServer复制到mysql

    经过一番搜索,有朋友推荐用datax的,后来发现比较麻烦,需要循环每个表去复制:有推荐用Navicat的,但是方式有点行不通,会报文件打不开:无法打开Provider=SQLNCLI10.1;Pers ...

  3. 搭建本地yum源

    本地yum源其实非常容易搭建 首先进入/etc/yum.repos.d/ 将原来的yum源备份后移除,然后新建dvd.repo: 内容如下: [base] name=base baseurl=file ...

  4. python基础之作业1---用户登录

    作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 import sys, os, getpass os.system('clear')i = 0while i < 3: ...

  5. dict的几个要点

    1. 采用key,value键-值对进行存储 2. key必须是不可变对象 3. key值不能重复 添加元素: aDict = {'1':'aaa','b':'bbb','3':'ccc'} aDic ...

  6. 基于uniGui开发的Delphi后台管理框架uniFramework

    uniGui是基于Delphi的一套开发Web应用的UI框架,前端使用的是ExtJS,最新版的uniGUI1.5 1480已支持新版的ExtJS6.5.3.我认为uniGUI是目前Delphi下最完善 ...

  7. 软件测试:第二次作业(JUnit单元测试方法)

    一.JUnit是什么? JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework).JUnit测试是程序员测试, ...

  8. cocos-lua3.17 Lua tablrView工具类

    local MyTableView = class("MyTableView") MyTableView.__index = MyTableView MyTableView.pro ...

  9. 用powermock 方法中new对象

    在单元测试中有时需要对方法体内new出来的对象进行方法隔离,powermock提供了这个功能,下面是一个段样例代码: UserBean user = mock(UserBean.class, RETU ...

  10. dom树渲染对性能的影响

    这样写会访问两次dom节点树,一次读取innerHTML,一次重写innerHTML. 当然,加载速度也是很惊人的. 用一个变量把a存起来,只读取和重写innerHTML一次. 可以看到加载时间大幅度 ...