1.先看各个通信的接口
1.共享内存接口

2.消息队列接口

3.信号量接口

2.管理他们的结构体:

其实管理他们的是一个数组,和open返回的fd差不多,shmid,msqid,semid的大小都是这个数组的下标。那数组的结构是什么呢?
然后何如拜访上面三个结构体呢?当然就是强转:((struct shmid_ds*)addr)->???!当然OS肯定在ipc_perm中存储了如何区分指针指向的内存,然后分别强转类型。
这其实不就是C++中的多态吗?ipc_perm是基类,上面三个是子类。



![Sqli-labs靶场第19关详解[Sqli-labs-less-19]自动化注入-SQLmap工具注入](https://img-blog.csdnimg.cn/direct/b8b5350609474fb6b9fd413c076cfad3.png)






![Sqli-labs靶场第20关详解[Sqli-labs-less-20]自动化注入-SQLmap工具注入](https://img-blog.csdnimg.cn/direct/99238a6364ee4c5eb53801faff3fe72a.png)








