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

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. ubuntu上安装并使用mysql数据库

    一.安装Mysql 最简单的方式就是apt-get安装 安装核心程序 sudo apt-get install mysql-client-core-5.6 安装客户端程序 sudo apt-get i ...

  2. 【转载】curl 模拟 GET\POST 请求,curl查看响应头 以及 curl post 上传文件

    补充说明:curl查看响应头 curl -I "http://www.baidu.com"HTTP/1.1 200 OK #HTTP协议 HTTP 返回码Server: Tengi ...

  3. 最大流 USTC1280

    挺有意思的一题,最小路径之后最大流 /************************************************************** 作者:陈新 邮箱:cx2pirate ...

  4. vim常用指令

    命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim ...

  5. RN开发第二天

    今天上午配置了windows的Android的环境,下载node,Python,安装Android SDK和Android studio,JSK,然后配置用户变量和系统变量,然后npm install ...

  6. SQL-54 查找排除当前最大、最小salary之后的员工的平均工资avg_salary。

    题目描述 查找排除当前最大.最小salary之后的员工的平均工资avg_salary.CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL,`sala ...

  7. JAVAEE 第八周

    equals():反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值. hashCode():计算出对象实例的哈希码,并返回哈希码,又称为散列函数.根类Obje ...

  8. 用vector与bitset分别创建1亿以内的素数表,比较快慢

    vector容器: 代码如下: #include<iostream>#include<vector>#include<ctime>using namespace s ...

  9. 1 实现添加功能 1.1 定义一个学员类(Student),在Student类中定义姓名、性别和年龄属性,定义有 参数的构造方法来初始化所以的成员属性 1.2 创建学员类对象来存放学员信息,并且为每一个学生对象添加的相应的编号。并将 学员类对象添加到Map<Integer,Student>集合中 1.3 添加完成后,显示所有已添加的学员姓名 1.4 限制年龄文本框只能输入正整数,否则的会采

    学生类 package com.lanxi.demo1_3; public class Student { private String name; private String sex; priva ...

  10. SpringMVC云题库错题及答案汇总-2

    此题目考察的是SpringMVC-注解驱动控制器,注释类型的范围: A.处理requet uri 部分的注解: @PathVariable; B.处理request header部分的注解: @Req ...