亚洲乱码一卡二卡四卡乱码新区_亚洲乱码中文字幕小综合_亚洲人成电影在线播放_亚洲性色AV一区二区三区_亚洲一区二区三区影院_亚洲中文字幕久久精品无码A_亚洲中文字幕无码专区_伊人热热久久原色播放WWW_在线观看AV永久免费_最新欧洲大片免费在线,欧美日韩成人三级免费看,久久黄色网址,欧美激情内射喷水高潮

首頁(yè)
社區(qū)
課程
招聘
Pwn 學(xué)習(xí)第五課打卡,!

原提問(wèn)者:hackbs 2020-7-12

 

0x00 概述:
[
printf格式化字符串并且在控制臺(tái)中輸出,
最常用的方式
{

 

#include <stdio.h>
int main(int argc,char *argv[])
{
//格式化整型、字符串、地址輸出
printf("%d-%s-%p",123,"123",0x123456);
}
}
]

 

0x01:現(xiàn)成漏洞的原因
{
printf也是一個(gè)函數(shù),我們知道在匯編里面,其實(shí)就是CALL 一個(gè)地址,,然后CALL地址前,都會(huì)壓入(push)參數(shù)進(jìn)去,,push的順序是先進(jìn)后出,,先把函數(shù)參數(shù)的最后push進(jìn)去,然后最后把第一個(gè)參數(shù)給push進(jìn)去,。

 

//所以在調(diào)用Printf函數(shù)時(shí)候,,如果格式化輸出,后面沒(méi)有跟參數(shù)比如
printf("%s");

 

#首先printf會(huì)進(jìn)行格式化字符串的解析,,從參數(shù)里面獲取和符號(hào)進(jìn)行匹配,,然后輸出到屏幕上

 

#如果說(shuō)沒(méi)有參數(shù),那么CALL的上一層棧地址數(shù)據(jù)就會(huì)被輸出來(lái)(導(dǎo)致泄漏),!
}

收藏
0條回答
零基礎(chǔ)入門(mén)pwn
  參與學(xué)習(xí)     1822 人
  提問(wèn)次數(shù)     36 個(gè)
《零基礎(chǔ)入門(mén)pwn》,短時(shí)間內(nèi)踏入漏洞利用的大門(mén),,快速成為一名合格的pwn題選手
我的問(wèn)答 領(lǐng)取收益
0
我的提問(wèn)
0
我的回答
0
學(xué)習(xí)收益