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)的主要内容,如果未能解决你的问题,请参考以下文章

9-6学习打卡(6.12)

9-6学习打卡(6.22)

9-6 (9-1?) 学习打卡(6.15)

9-6 学习打卡 (9.6)

9-6学习打卡(6.14)

9-6(8-5)学习打卡(6.23)