9-6(6-2!)学习打卡(6.18)
Posted 水番正文
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9-6(6-2!)学习打卡(6.18)相关的知识,希望对你有一定的参考价值。
这个机房的云端配置真是太垮了,本以为昨天老师讲的密码学会很有意思,但事实上这个老师看起来有心无力,今天好多人都touch fish去了,我也偶尔会想touch fish,但想想终究不适合我,我还是有很多东西想去学,很多事情想去做,王者荣耀,启动!--6.18
6.18 To do list:
1.每日Pwn学习
2.算法导论阅读到4.1
3.CPP完成第三章练习,向前阅读15p
一:每日Pwn学习
Linux 延迟绑定机制:程序运行时,真实地址是不知道的,要调用libc库函数。
1.call一个函数
2.函数去plt(内部函数表)找
3.plt再去got(全局函数表)找
4.找到之后运行函数,并把地址存在plt
下次运行可以直接调用函数
什么是libc,想windows下的dll表
问:libc函数在哪里?
ASLR地址随机化
系统开启 /proc/sys/kernel/randomize_va_space
0表示关闭ASLR
1表示保留的随机化,共享库、栈、mmapO以及VDSO随机化
2表示完全的随机化 在1的基础上,通过brk()分配的内存空间也将被随机化
答:被随机化了,找不到····
Ret2Libc流程
泄露libc函数地址的条件:
程序有输出函数:例如puts/printf/write
实现:设置好参数为某函数GOT表地址
(GOT表中保存已调用过的函数的真实地址)
例如:puts_ plt(puts_ got)
栈缓冲区溢出的基础上,寻找以ret结尾的代码片段,
实现:设置参数、持续控制的目的
构造执行write(1,buf2,20),之后再返回main函数
二:算法导论
今天看的不多,看到4.1,发现很多算法都很有意思,虽然书中描述的原理有很多不懂,但也能理解里面的算法,也有点庆幸,要时常保持思考!
三:CPP
阅读到70页,感觉已经开始有点知识盲区了,也知道好多约定,真不错。‘
最近几天状态确实有点不好,睡觉状态,但也可能是前段时间透支了睡眠,今天状态显然不是很好,于是明天准备休息一天,冲!
NIGHT
以上是关于9-6(6-2!)学习打卡(6.18)的主要内容,如果未能解决你的问题,请参考以下文章