CTF逆向碰到几次用到z3求解器的题,如果算法便于表达式描述的话,可以直接使用z3求解,另外一般这种题都是很多位运算与循环的结合算法。例如des等。
github文档:Z3Prover/doc: Documentation (github.com)
z3库名为z3_solver,安装使用:
1 | pip install z3_solver |
或者下载whl包(包含中文简单使用文档):
1 | # coding : utf-8 |
CTF逆向碰到几次用到z3求解器的题,如果算法便于表达式描述的话,可以直接使用z3求解,另外一般这种题都是很多位运算与循环的结合算法。例如des等。
github文档:Z3Prover/doc: Documentation (github.com)
z3库名为z3_solver,安装使用:
1 | pip install z3_solver |
或者下载whl包(包含中文简单使用文档):
1 | # coding : utf-8 |
2022-10-07 更新:大概两三个月前易校园改了接口,更简单了,我们只需抓包
https://h5.xiaofubao.com/marketing/health/doDetail
接口即可,脚本如下:
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
47
48
49 # POST https://h5.xiaofubao.com/marketing/health/doDetail HTTP/1.1",
h = {
# your headers.
}
d = {
# These are your POST data.
# ...
# Delete time & date infomation.
# "createTime": "",
# "createDate": "",
# "updateTime": "",
# ...
}
import requests
from pprint import pformat
requests.packages.urllib3.disable_warnings()
import yagmail
def eMail(email_to, email_title, email_content):
# 邮件用户
mail_user = 'your-email'
# 授权码
mail_key = 'your-email-key'
# smtp服务器
mail_host = 'your-email-smtp-server'
try:
mail_server = yagmail.SMTP(
user=mail_user, password=mail_key, host=mail_host)
mail_server.send(email_to, email_title,
email_content, attachments=None)
mail_server.close()
return True
except Exception as e:
print(e)
return False
response = requests.post("https://h5.xiaofubao.com/marketing/health/doDetail", headers=h, data=d, verify=False)
pdata = pformat(response.json(), indent=4)
print(pdata)
title = ''
if response.json()['success'] == True:
title ='打卡成功'
else:
title = '打卡失败'
eMail('your-email', title, pdata)
每天自动打卡,有点烦了,搜索一番,加上解决了一些问题,现拿出此成熟方案。
安装fiddler4
以前高中用fiddler4,现在新版本不知道为啥变得不会用了,貌似还要交钱了,所以不太推荐。推荐下载老版本fiddler4。请自行搜索,此处不提供下载。
设置fiddler并配置证书
易校园采用https通信,因此需要配置证书。这里先进行软件的设置。安装软件后打开设置:
使用方法
某些学校使用哆点认证,dogcom可以作为该认证的客户端。它使用c编写,使用心跳包维持与认证服务器的连接。并且非常轻量,编译完后只有几十kb。这里我们简单介绍。
github项目地址:mchome/dogcom: Drcom-generic implementation in C. (github.com)
运行命令:
一般我们使用如下命令:
1 | ./dogcom -m dhcp -c ./drcon.conf -e -v |
$ 1_introduction
Volatility
是一款非常强大的内存取证工具,它是由来自全世界的数百位知名安全专家合作开发的一套工具,可以用于windows,linux
,mac osx
,android
等系统内存取证。Volatility
是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。
在不同系统下都有不同的软件版本,官网地址:https://www.volatilityfoundation.org/
官方手册:Command Reference · volatilityfoundation/volatility Wiki (github.com)
$ 2_使用
输出信息
1 | volatility -f easy_dump.img imageinfo |
最近长城杯的杂项涉及到brainfuck,学习记录一下。
brainfuck被称为最小的图灵完备语言。
wiki百科
在可计算性理论(computability theory)中,图灵等价指的是:对于两个计算机A和B,如果A可以模拟B,B可以模拟A,就称他们是图灵等价的。
根据“丘奇-图灵”理论,图灵机是表达能力最强大的计算系统,对现实世界中的任何计算机,都可以用图灵机来模拟它。腻不腻害!
crypto_ringringring
给了个nc连接,连上后给出了一个str拼接几个字符再md5后的前五位:
数据量较小于是可以爆破:
1 | def md5Col(one, two): |
通过后又要我们给出一个方程的100个解:
难得做出有点技术含量的杂项题:
解压给出两个图片,一个压缩包
flag.rar里面有个flag.php,有加密:
看下两个图片,占用空间比较大,肯定藏了东西:
现在有更好的解决方案
1 | pip install pydumpck |
可执行文件反编译脚本:
1 | $ python decompy.py 可执行文件 |
得到的PYZ-00.pyz_extracted文件夹包含而三方库
找dll文件确定python版本,用相应版本编译一个pyc或pyo文件,复制前8个字符的文件头,插入到py没有后缀的文件前,添加后缀pyc或pyo,再使用uncompyly6反编译py源代码。
WSL的kali安装包竟然只有一百多兆,比ubuntu的四百多兆少太多了。可想而知是有多干净。
所以有大佬制作了软件安装工具
rikonaka/katoolin4china: Kali tools installer (github.com)
首先安装vim(当然你会用vi的反人类操作也可以直接用vi换源):
1 | sudo apt-get install vim |
然后换源(清华):
1 | sudo vim /etc/apt/source.list |
转载自:LxRunOffline 使用教程 - WSL 自定义安装、备份 - P3TERX ZONE
推荐阅读:把你的子系统(WSL)搬到非系统盘 - 云+社区 - 腾讯云 (tencent.com)
P3TERX • 2019-09-07 • 3 评论 • 19498 阅读
请注意,本文编写于 700 天前,最后修改于 387 天前,其中某些信息可能已经过时。