[其它语言] 如果不能解析语言是否永远无法入侵?

1601 2
匿名  发表于 2023-10-22 22:32:32 |阅读模式
我是一名小白,只是想到这个问题想问问看。众所周知编程的底层代码是0和1并且是英文所以可以入侵,可是如果底层代码也是中文由一和二构成那么现在的人是否还能够入侵?
狼毛 2023-10-26 21:06:52 | 显示全部楼层
ubuntu中使用checksec命令可以查看可执行文件开启的保护

调试必不可少的一步操作
但是经常会忘了缩写对应的意思,今天就总结一下。

1.RELRO: RELRP会有Pratial RELRO 和FULL RELRO,如果开启FULL RELRO,意味着我们无法修改got表
2.Stack: Canary found 表示不能直接用溢出的方法覆盖栈中返回地址,而要通过改写指针与局部变量、leak canary、overwrite canary的方法来绕过
3.NX: NX enabled表示栈中的数据没有执行权限,通常用rop/构造rop链绕过
4.PIE: PIE enabled 表示开启了地址随机化,即每次程序运行的时候地址都会变化,而如果没有开PIE的话,No PIE(0x400000),括号内的数据就是程序运行的基地址
5.FORTIFY: FORTIFY_SOURCE机制对格式化字符串有两个限制:
(1)包含%n的格式化字符串不能位于程序内存中的可写地址。
(2)当使用位置参数时,必须使用范围内的所有参数。所以如果要使用%7$x,你必须同时使用1,2,3,4,5和6

当选择对栈溢出时,需要选择程序的栈未被保护的可执行文件。

c/c++语言对栈和堆溢出一直以来饱受诟病。如今,微软要换Rust语言重写内核。
https://www.sohu.com/a/671464661_163726
狼毛 2023-10-26 21:10:32 | 显示全部楼层
一直以来,系统才是入侵的主要目标。。。入侵系统先要选开机的系统,进入内存中。所以你要看看他们在内存中的位置,能否溢出供可疑文件使用获得root权限。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注
  • 主题
  • 粉丝
  • 关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行