指针重定向
Reading time: 3 minutes
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
字符串指针
如果一个函数调用将使用位于栈中的字符串地址,可以利用缓冲区溢出来覆盖这个地址并在二进制文件中放入指向不同字符串的地址。
例如,如果一个**system
函数调用将使用字符串的地址来执行命令**,攻击者可以在栈中放置指向不同字符串的地址,export PATH=.:$PATH
,并在当前目录中创建一个以新字符串的首字母命名的脚本,因为这个脚本将由二进制文件执行。
你可以在以下位置找到一个示例:
- https://github.com/florianhofhammer/stack-buffer-overflow-internship/blob/master/ASLR%20Smack%20and%20Laugh%20reference%20-%20Tilo%20Mueller/strptr.c
- https://guyinatuxedo.github.io/04-bof_variable/tw17_justdoit/index.html
- 32位,改变栈中指向标志字符串的地址,以便通过
puts
打印
函数指针
与字符串指针相同,但应用于函数,如果栈中包含将被调用的函数的地址,则可以更改它(例如,调用**system
**)。
你可以在以下位置找到一个示例:
参考
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。