Tre*_*ski 3 c security exploit
我一直在做一些shell编写,并且遇到了一个建议访问()来检查文件是否存在,可以读取等等.看起来超级易于实现并且比stat()更快.当我开始查看它的手册页时,我注意到它不建议使用,因为它可能导致安全漏洞.手册页说:
使用access()检查用户是否有权例如在使用open(2)实际执行此操作之前打开文件会产生安全漏洞,因为用户可能会利用检查和打开文件之间的短时间间隔来操作它.
有谁知道如何利用它或者它是否仅仅涉及在检查文件后使用open()?我知道有很多人说使用stat()代替,但是access()很容易实现,特别是对于我用它的shell.
谢谢
这是TOCTOU比赛(更新时间检查时间).恶意用户可以将他有权访问的文件替换为符号链接到他access()
在open()
调用和调用之间无权访问的内容.使用faccessat()
或fstat()
.通常,打开一次文件,并使用f*()
它上面的函数(例如:fchown()
,...).
归档时间: |
|
查看次数: |
1624 次 |
最近记录: |