misc类之隐写术
对常见文件文件头和隐写术做个归纳总结。
一、文件头文件尾1、图片
JPEG
文件头:FF D8 FF文件尾:FF D9
TGA
未压缩的前4字节 00 00 02 00
RLE压缩的前5字节 00 00 10 00 00
PNG
文件头:89 50 4E 47 0D 0A 1A 0A 文件尾:AE 42 60 82
GIF
文件头:47 49 46 38 39(37) 61 文件尾:00 3B
BMP
文件头:42 4D
文件头标识(2 bytes) 42(B) 4D(M)
TIFF (tif)
文件头:49 49 2A 00
ico
文件头:00 00 01 00
Adobe Photoshop (psd)
文件头:38 42 50 53
2、office文件
MS Word/Excel (xls.or.doc)
文件头:D0 CF 11 E0
MS ppt
文件头:50 4B 03 04
MS Access (mdb)
文件头:53 74 61 6E 64 61 72 64 20 4A
WordPerfect (wpd)
...
pwn第一道题目
记录第一次尝试做pwn题目。
1.访问题目这里选择的是buuctf在线测评上面的rip题目,下载到一个附件和一个nc链接
首先在Ubuntu里nc访问一下这个端口
直接运行这个文件
总结下来大概就是能够进行一次输入并接受值然后输出,并附带了两个友情提示之类的字符串输出,然后可能在接受的时候存在溢出的可能性。
2.收集信息2.1checksec使用checksec查看安全机制:checksec ./pwn1 (checksec filename)
补充备注:Arch:程序架构信息,判断是64位还是32位,exp编写的时候是p64还是p32
RELRORelocation Read-Onl(RELRO)此项技术主要针对GOT改写的攻击方式,它分成两种,Partial RELRO和FULL RELRO。
12Partial RELRO(部分):容易受到攻击,例如攻击者可以atoi.got为system.plt进而输入/bin/sh\x00获得shellFULL RELRO(完全):使整个GOT只读,从而无法被覆盖,但这样会大大增加程序的启动时间,因为程序在启动之前需要解析所 ...
编译过程和elf文件
本文介绍二进制文件编译过程和elf文件。
编译过程编译过程:可分为五个阶段:
1.词法分析
2.语法分析
3.语义分析
4.中间代码生成和优化
5.代码生成和优化
gcc编译过程gcc编译过程主要包括四个:
1.预处理
2.编译
3.汇编
4.链接
使用了cc1、as、collect2三个工具,最后生成的是(静态|动态)的可执行文件
生成的汇编代码中函数printf()被替换成puts(),因为当printf()只有单一参数时与puts()十分相似,gcc的优化策略酒将其替换以便提高性能。
ELF(可执行可链接)文件格式ELF文件可以分为三种类型:
可执行文件(.exec)
可重定位文件(.rel)
共享目标文件(.dyn)
1.可执行文件(executable file):经过链接、可执行的目标文件,通常也被称为程序。
2.可重定向文件(relocatable file):由原文件编译而成且尚未链接的目标文件,通常以”.o”作为扩展名。用于与其他目标文件进行链接以构成可执行文件或动态链接库,通常是一段位置独立的代码(Position Independent C ...
misc技巧
主要介绍比赛的技巧常用命令。
1.图片隐写虚拟机:kali
工具:binwalk(探测分离),foremost(分离),steghide(分离)、gnuplot(绘图)、volatility(取证)、outguess(图片密码)、notepad(NTFS交换数据流)、NtfsStreamsEditor(NTFS交换数据流)、exiftool(查看隐藏信息)、 uncompyle6和decompyle3(pyc 字节码反编译)
1.1.探测图片首先我们需要对图片进行分析,这里我们需要用到kali里面的一个工具 binwalk ,想要了解这个工具可以参考这篇 Binwalk:后门(固件)分析利器 文章,以及 kali官方对binwalk的概述和使用介绍 。
首先在kali终端进入目标图片所在的路径,然后在binwalk后直接提供固件文件路径和文件名即可:
1binwalk 2.jpg 看图片中是不是还有其他东西
当我们使用这行命令后,binwalk就会自动分析这个jpg文件:
1.2.分离在得到隐藏信息之后我们下一步就是把另一张jpg分离出,以下讨论几种方法:
(1)使用forem ...
CTF比赛中常见的文件头
本文整理了CTF比赛中常见的文件头。
文件头文件尾总结JPEG (jpg), 文件头:FFD8FF 文件尾:FF D9
PNG (png), 文件头:89504E47 文件尾:AE 42 60 82
GIF (gif), 文件头:47494638 文件尾:00 3B
ZIP Archive (zip), 文件头:504B0304 文件尾:50 4B
TIFF (tif), 文件头:49492A00
Windows Bitmap (bmp), 文件头:424D
CAD (dwg), 文件头:41433130
Adobe Photoshop (psd), 文件头:38425053
Rich Text Format (rtf), 文件头:7B5C727466
XML (xml), 文件头:3C3F786D6C
HTML (html), 文件头:68746D6C3E
Email [t ...
”红明谷“杯数据安全大赛-安全意识赛
“红明谷”杯数据安全大赛-安全意识赛
试卷说明:安全意识理论赛,一个半小时
一、单项选择题1、以下不属于采用密码技术对数据本身进行保护的是()。
A、防火墙技术
B、使用现代加密算法对数据进行加密以获得机密性
C、采用数字签名算法确保数据源的可靠性
D、采用杂凑算法和公钥算法保护数据完整性标准答案:A
2、第二级信息系统抽查不包括哪项
A、存储被测系统重要数据的介质的存放环境
B、所有人员
C、重要管理终端
D、信息安全主管人员、各方面的负责人员;
标准答案:B
3、对于采用账户名/口令的网站,在已知用户名的情况下对用户口令进行爆破穷举。该口令包含8个字符,且所有的字符属于字母表的小写字符,该穷举()个字符组合来获得口令?
A、21224576
B、208827064576
C、201520162818
D、20445276162016
标准答案:B
4、《网络安全法》是以第()号主席令正式发布的。
...
汇编指令
主要介绍汇编指令常用命令。
一、数据传送指令
数据传送指令
MOV
(Move)对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送
MOVX
(Move External RAM)对外部存储器的数据传送
XCH
(Exchange)字节交换
XCHD
(Exchange Low-order Digit)低半字节交换
PUSH
(Push onto Stack)入栈
POP
(Pop from Stack)出栈
二、算术运算指令
算术运算指令
ADD
(Addition)加法
ADDC
(Add with Carry)带进位加法
SUBB
(Subtract with Borrow)带借位减法
DA
(Decimal Adjust)十进制调整
INC
(Increment)加1
DEC
(Decrement)减1
MUL
(Multiplication Multiply)乘法
DIV
(Division Divide)除法
三、逻辑运算类指令
逻辑运算类指令
ANL
(AND Logi ...
dockerfile常用命令
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
1.FROM指令FROM:定制的镜像都是基于 FROM 的镜像,这里的 nginx 就是定制需要的基础镜像。后续的操作都是基于 nginx。
2.RUN指令RUN:用于执行后面跟着的命令行命令。有以下俩种格式:
shell 格式:
12RUN <命令行命令># <命令行命令> 等同于,在终端操作的 shell 命令。
exec 格式:
123RUN ["可执行文件", "参数1", "参数2"]# 例如:# RUN ["./test.php", "dev", "offline"] 等价于 RUN ./test.php dev offline
Dockerfile 的指令每执行一次都会在 docker 上新建一层。所以过多无意义的层,会造成镜像膨胀过大。例如:
123456789FROM centosRUN yum install wget ...
SSH常用操作
本文章主要描述的SSH常用操作。
登陆-p指定主机的端口
$ ssh -p port user@host
默认端口为22
$ ssh user@host
默认使用本机用户名
$ ssh host
过程
远程主机接收到用户的登陆请求,把自己的公钥发给用户
用户使用这个公钥,将密码加密后发回来
远程主机用自己的私钥,解密登陆密码,如果密码正确,就同意用户登陆
此处如果有攻击者截取了用户请求,再将自己的公钥发送给用户,然后就可以用自己的私钥解密出用户的私密信息,这就是中间人攻击
应对的方法:用户首次连接远程主机时,远程主机将发送一段128位长的公钥指纹,用户需要自行与远程主机网站发布的公钥指纹进行对比以判断真伪,当用户信任了此公钥后,它将被保存在$HOME/.ssh/known_hosts中,下次连接时无需再次确认。
公钥登陆原理:用户将自己的公钥保存在远程主机上,登录时,远程主机向用户发送一段随机码,用户用自己的私钥签名后,在发回远程主机,远程主机用实现保存的公钥进行验证,如果成功,表示用户的身份正确,无需输入密码
用户生成一对自己的密钥
将用户的公钥内容添加到 ...
python信息收集(子域名+邮箱)
本文主要描述使用python进行信息收集包括收集子域名和邮箱
python基本操作换源1-i https://pypi.douban.com/simple
快速开启http服务1python3 -m http.server 8000开启服务
升级pip123curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.pypython get-pip.py如果过程中报:zlib包,那么需要先执行:yum install zlib zlib-devel, 安装zlib,然后重新编译安装python
信息收集概述被动信息搜集主要通过搜索引擎或者社交等方式对目标资产信息进行提取,通常包括IP查询,Whois查询,子域名搜集等。进行被动信息搜集时不与目标产生交互,可以在不接触到目标系统的情况下挖掘目标信息。
主要方法:DNS解析,子域名挖掘,邮件爬取等。
DNS解析1、概述DNS(Domain Name System,域名系统)是一种分布式网络目录服务,主要用于域名与IP地址的相互转换,能够使用户更方便地访问互联网,而不 ...