“大家在工作当中,发现通过软件还是硬件检测到系统漏洞和应用漏洞,前方一大波漏洞袭来,那发现这些漏洞该如何处理,答案:最好的就是打官方补丁包,因为官方会弥补在开发过程中解决的系统bug或者应用软件bug,那如何打补丁包呢?On my way, Movingout!。”
0x01:开始生成测试数据
#cat >>example_01 <<EOF
/*模拟写入测试数据example_01*/
$A1A1A1A1
$A1A1A1A1
$A1A1A1A1
$EOF
#cat example_01
/*查看被写入的测试数据example_01*/
$A1A1A1A1
$A1A1A1A1
$A1A1A1A1
$EOF
#cat >>example_02<<EOF
/*模拟写入测试数据example_02*/
$A2A2A2A2
$A1A1A1A1
$A2A2A2A2
$A1A1A1A1
$EOF
#more example_02
/*查看被写入的测试数据example_02*/
$A2A2A2A2
$A1A1A1A1
$A2A2A2A2
$A1A1A1A1
$EOF
0x02:比较两个文件的不同之处,然后生成补丁包。
diff[选项] 从新文件到旧文件,比对两个文件的不同,然后重新生成一个补丁包。有对比,才有发现不同之处。
-r:递归
-N:确保补丁文件将正确地处理已经创建或删除文件的情况
-u:选项以统一格式创建补丁文件
#diff –uN example_01example_02 > example1.patch
/*单个文件使用diff创建补丁example1.patch*/
#diff–Nu example_01 example02 > example2.patch
/*单个文件使用参数-N&u创建补丁example2.patch*/
#more example1.patch
/*查看测试用例example1补丁包
*+++号代表新文件––号代表旧文件
*+号表示这一行加上的数据–号代表这一行删除的数据
*第一个@@代表开始最后一个@@代表结束
*/
0x03:打补丁包选项和参数
patch[选项] [源文件] [补丁包文件]
–p0:选项从当前目录查找目的文件夹
-p1:选项忽略第一层目录,从当前目录开始查找
-E:选项说明如果发现了空文件,那么就删除它
-R:选项说明在补丁文件中的“新”文件和”旧”文件现在要调换过来了
#patch –p0 < example1.patch
/*当前目录下打补丁example1.patch*/
#patch –p0 < example1.patch
/*再次在当前目录打补丁包example1,输入”y”,然后会生成源数据包。*/
#cat example_01.orig
/*查看源数据包example_01内容*/
#patch –p0 < example1.patch
/*再次在当前目录打补丁包example1,输入两次”n”,生成源数据包。*/
#cat example_01.rej
/*查看旧数据包example_01.rej*/
#patch –RE –p0 < test1.patch
/*去除补丁,恢复旧版本*/
#cat example_01
/*查看源数据*/
“总言而之,不同的操作系统,打补丁的方式不一样,取决于你的操作系统,因为不同的操作系统的安装包管理机制不一样,所以打补丁的方式方法也不一样,补丁打完之后,要不断测试系统的健壮性还有安全性,打补丁之前一定要备份好数据,做好系统快照和重要数据备份,养成良好的操作习惯,学以致用。”
来源:freebuf.com 2019-03-27 13:17:15 by: 凯信特安全团队
请登录后发表评论
注册