acgdir.com
首页 > 动漫/二次元 > 动漫/二次元/资讯

萌新带你开车上p站(三)(3)

2022-11-12 来源:acgdir.com
没有权限
题目的提示是和运算符优先级有关
我们仔细分析源码,看看问题出在哪里
问题在这里
if(fd=open("/home/mistake/password",O_RDONLY,0400) < 0){
open函数里权限检查是没问题的,O_RDONLY表示以只读方式打开
0400表示文件所有者具有可读取的权限
由于权限通过检查,所以open函数返回值为0
有因为0<0不成立
所有比较结果为0
然后赋值给fd
即fd为0,表示标准输入,也就是说fd现在是我们可控的
结合之前分析,pw_buf也为我们控制
那就很简单了

萌新带你开车上p站(三)


第一次输入10个1,存入pw_buf
第二次输入10个0,存入pw_buf2,与1异或后覆盖pw_buf2,此时buf2的值也为10个1,满足打印flag的逻辑
0x09shellshock
查看权限

萌新带你开车上p站(三)


可以看到shellshock程序的所属组的权限位上有s,表示sgid,也就是说在执行shellshock时,用户将获得shellshcok所属组的权限,即执行shellshock后将获得root所在用户组的权限,而由flag这一行的权限位可知,该权限可以读取flag
猜你喜欢