gfsdk_psm.win64.dll

PHP邮件注入攻击技术(1)
如今,互联网的使用急剧上升,但绝大多数互联网用户没有安全知识背景。大多数的人都会使用互联网通过邮件Email的方式和他人进行通信。出于这个 原因,大 多数网站允许他们的用户联系他们,向网站提供建议,报告一个问题,或者要求反馈,用户将会发送反馈给网站管理员的电子邮件。
不 幸的是,大多数web开发人员对安全编码Code-Security没有足够的认识,其中的一些程序猿使用现成的库或框架,这些库受到许多已知的。这 些漏洞是已经公布,厂商并已经对其进行了修补,并且相应的攻击源代码poc都在互联网上可下载的,但大多数开发人员都懒得升级到最新版本。
今天我们要谈论电子邮件注射,攻击者可以使用你的邮件服务器来发送垃圾邮件。
2. 邮件注入
From Wikipedia:
电子邮件注入是一个安全漏洞,这种漏洞广泛存在于在互联网电子邮件收发应用中。这是电子邮件注射和HTTP头注射类似。和SQL注入攻击类似,这种漏洞是一类常见的的漏洞,发生在当一个语言是嵌入到另一个,例如MYSQL嵌入到中。
当一个可以提交数据到一个Web应用程序表单被添加到一个Web页面,恶意用户可能会利用MIME格式添加额外的信息到要发送的消息中 (POST/GET),比如一个新的收件人列表或一个完全不同的消息体。因为MIME格式使用回车分隔在数据包中信息(HTTP数据包中的每一行之间都有 一个换行符,在POST和HTTP HEADER之间有两个换行符),通过添加回车提交表单数据(使用FB的一些插件可以很容易的做到),可以允许一个简单的留言板是用来发送成千上万的消 息。同样,一个垃圾邮件发送者可以使用这种战术的恶意发送大量的匿名消息。
电子邮件注入是针对PHP内置邮件功能的一种攻击类型。它允许恶意攻击者注入任何邮件头字段,BCC、CC、主题等,它允许通过注入手段从受害 者的邮 件服务器发送垃圾邮件。由于这个原因,这种攻击称为电子邮件注入,或者邮件形式滥发。这个漏洞是不限于PHP。它可能会影响任何从用户UI接收消息并发送 电子邮件消息的应用程序。这种攻击的主要原因是不适当的用户输入验证或应用程序根本没有验证和过滤机制。
3. 邮件注入的攻击原理
中国古话说得好: 知其然才能知其所以然。
为了解释邮件注入的工作原理,我们必须先了解PHP Email函数的工作原理。下面是从PHP Manual中找到API解释
bool&mail&(&string&$to&,&string&$subject&,&string&$message&[,&string&$additional_headers&[,&string&$additional_parameters&]]&)&
你可以注意到,这需要三个必填参数(&目的地、主题和消息&)和其他一些可选参数和函数返回一个布尔值。
那么让我们来看看一个带漏洞的代码来演示这个漏洞:
&if&(!isset($_POST[&send&]))&
&&&&form&method=&POST&&action=&&?php&echo&$_SERVER['PHP_SELF'];?&&&&
&&&From:&&input&type=&text&&name=&sender&&&
&&&Subject&:&&input&type=&text&&name=&subject&&&
&&&Message&:&
&&&&textarea&name=&message&&rows=&10&&cols=&60&&lines=&20&&&/textarea&&
&&&&input&type=&submit&&name=&send&&value=&Send&&&
&&&&/form&&
&&&$from=$_POST['sender'];&
&&&if&(mail($to,$_POST['subject'],$_POST['message'],&From:&$fromn&))&
&&&&&echo&&Your&mail&has&been&sent&successfully&;&
&&&&&echo&&An&error&has&been&occured&!&;&
前面的代码将用于演示目的和解释我们的攻击原理。我们将前面的代码分成三个部分:
&if&(!isset($_POST[&send&])){&
这段代码将检查表单提交或不是。用户点击提交按钮和普通访问这个页面脚本的响应将是不同的, 如果这段代码返回True(if语句中的判断最终结果为true)这意味着表单没有提交。表单将出现,等待用户输入。另一方面,如果它返 回&False&,这意味着表单已经提交,所以电子邮件将被发送。
&method=&POST&&action=&&?echo&$_SERVER['PHP_SELF'];?&&&
&From:&&type=&text&&name=&sender&&
&Subject&:&&type=&text&&name=&subject&&
&Message&:&
&&name=&message&&rows=&10&&cols=&60&&lines=&20&&
&&type=&submit&&name=&send&&value=&Send&&
第二部分是一个HTML表单标记,这要求用户输入。
&&&$from=$_POST['sender'];&
&&&if&(mail($to,$_POST['subject'],$_POST['message'],&From:&$fromn&))&
&&&&&echo&&Your&mail&has&been&sent&successfully&;&
&&&&&echo&&An&error&has&been&occured&!&;&
在前面的代码中我们可以特别注意这一行 mail($to,$_POST['subject'],$_POST['message'],&From: $fromn&), PHP的mail()函数需要subject, message, from 这些参数。如果函数执行成功,由PHP引擎发送邮件后,将打印出成功提示 &Your mail has been sent successfully&。如果出现错误,将提示相应信息 &An error has been occurred
但是有朋友要问了,问题在哪里?主要的问题对用户的输入没有做必要的验证和过滤,正如《白帽子讲web安全》里说到的,任何的安全问题可以归结为信 任的问 题,这里存在的问题就是程序代码对用户的输入无限制的信任。正如你所看到的在第三部分代码,发送邮件功能代码从用户接收输入(包括邮件主题、消息和来源 等),参数没有过滤和验证。因此,恶意攻击者可以任意控制这些参数的值,用户发送inject攻击。
4. 邮件注入示范
为了使用PHP作为邮件发送代理,我们需要对PHP.INI进行简单的配置:
[mail&function]&
;&For&Win32&only.&
;&http://php.net/smtp&
SMTP&=&smtp.qq.com&
;&http://php.net/smtp-port&
smtp_port&=&25&
出于演示目的,我们将使用前面的带漏洞的代码。此外,我们将提交下列值作为发送邮件的参数:
mail(&&,&&Call&me&urgent&,&&Hi,nPlease&call&me&ASAP.nBye&,&&From:&n&)&
表单发送的HTTP数据包:
从攻击者的角度来看,有许多额外的字段,可以被注入在邮件标题。更多信息见RFC 822。例如,CC(抄送)或者BCC(密送)允许攻击者插入更多的消息。
但要注意的是,我们在添加一个新的参数之前,我们必须增加一个换行符分隔每个字段。换行符的16进制值为&0x0A&。下面是一个demo code。
1) Cc/Bcc注入
在发送者字段(sender)后注入Cc和Bcc参数
From:%0ACc:%0ABcc:
所以现在,消息将被发送到recipient和recipient1账户。
2) 参数注射
From:%0ATo:
现在消息将被发送到原来的收件人和攻击者帐户。注意,这里的攻击者的账户是我们通过注入额外传入的。
3) 邮件主题注入
From:%0ASubject:This&s%20Fake%20Subject
攻击者注入的假的主题subject将被添加到原来的主题中并且在某些情况下将取代原本的主题subject。这取决于邮件服务行为。即代码编写的容错性,当参数中出现两个subject的时候代码是选择丢弃还是后者覆盖。
4) 改变消息的主体body
要注意SMTP的Mail格式,消息主题和头部Header之间有两个换行符(和HTTP是一样的)。
From:%0A%0AMy%20New%20%0Fake%20Message.
假消息将被添加到原始消息中。
5. 实战演示
这里提示一下,直接配置php.ini原生的email功能可能不太好用,配置起来也麻烦,建议采用一些第三方的Email(WP就挺不错的)进行发送,这个模块已经把相关的交互和HTTP数据包的构造封装好了。
附带上一些实验截图:
1) 正常发送
2) Cc/Bcc注入
在From字段添加Inject Payload
发送邮件后,增加了抄送的功能:
3) 邮件主题注入
我们在from的参数加添加subject字段:
接收邮件后:
可以看到,原本的subject被注入语句覆盖了一部分内容,但是具体是覆盖还是附加和具体的PHP代码编写逻辑有关,因为现在CMS对Email发送的普通做法就是利用PHP进行HTTP/HTTPS数据包的构造,先在本地构造好数据包后,再想服务器发送。
所以不同的系统对email注入的效果会有所不同。
4) 改变消息的主体body
这里要注意的的,SMTP区分消息头部和消息主题是依据%0A%0A双换行符决定的。
发送邮件后,我们发现消息的消息体已经被修改了。
以上就是我在本地的PHP环境中模拟实验的结果,因为环境和程序代码处理逻辑的差异,可能在不同的环境下实验会有差异,我的经验是根据不同的PHP CMS系统的Email源代码进行分析,理清发送Email数据包的代码逻辑,有针对性的进行email 注入。
6. 解决方案
1. 永远不要信任用户的输入字段。所有用户输入应该被认为是不可信的和潜在的恶意。应用程序不受信任的输入过程可能会变得容易受到诸如缓冲区溢出攻击、SQL注入,OS指令注入、拒绝服务和电子邮件注入。
2. 使用正则表达式来过滤用用户提交的数据。例如,我们可以在输入字符串中搜索(r 或 n)。
3. 使用外部和库,提供防范这个问题像 ZEND mail、PEAR mail和swift mailer。
4. ModSecurity可以阻止服务器级别的电子邮件注入。利用ModSecurity,我们可以检测通过POST或GET提交的CC, BCC或目的地址,并且拒绝任何包含这些字母请求。gfsdk_psm.win32.dll 免费下载 | DLL-files.com
下载 gfsdk_psm.win32.dll
从下面选择一个版本下载并自行安装文件以修复您的 DLL 错误,或者从我们的软件 DLL-files.com Client 获得帮助。
gfsdk_psm.win32.dll,文件描述:
gfsdk_psm.win32.dll 相关的错误可能源于多种不同原因。比如,错误的应用程序、 gfsdk_psm.win32.dll 被删除或放错位置、被您 PC 上存在的恶意软件破坏、损坏的 Windows 注册表等。
最常出现的错误信息是:
程序无法启动,因为您的计算机缺少 gfsdk_psm.win32.dll 。尝试重新安装程序来解决这个问题。
启动 gfsdk_psm.win32.dll 发生错误。无法找到指定的模块
加载 gfsdk_psm.win32.dll 发生错误。无法找到指定的模块
gfsdk_psm.win32.dll 的设计可能不适合在 Windows 上运行,或可能包含错误。
在绝大多数情况下,解决方案是在您的 PC 上正确地重新安装 gfsdk_psm.win32.dll 到 Windows 系统文件夹。 此外,有的程序,特别是 PC 游戏,要求 DLL 文件放置在游戏/应用程序安装文件夹。
获取详细安装指南,请查看我们的
gfsdk_psm.win32.dll, 提供2个版本
Zip 文件大小
32bit0.0.0.0
32bit0.0.0.0
需要安装gfsdk_psm.win32.dll 的帮助吗?
DLL-Files.com Client
DLL-files.com Client 能够帮助您正确安装 gfsdk_psm.win32.dll 并永久修复 DLL 的错误。如果您不知道如何安装 DLL,或不知道应选择哪个版本,它将是您的最佳选择。
DLL-Files.com Client
已经厌倦了被讨厌的 DLL 错误打断您的工作进程?希望重新夺回您的PC的控制权?
DLL-files.com Client 将能够简单轻松地修复您的 gfsdk_psm.win32.dll 错误。
DLL-files.com Client
能够为您的电脑提供符合系统设置的 DLL 自定义错误修复功能。
下载试用版并亲自试试它有多么好用!
获取 DLL-files.com Client 的 3 个理由
快速、简单的安装
不要将宝贵的时间浪费在故障排除以及在网络上搜索可靠信息上。只需一次单击,DLL-files.com Client 就可查找您需要的文件并解决您的 DLL 错误。适用于任何 Windows PC( 32bit 和 64bit),包括 Windows 10, 8.1, 8, 7, Windows Vista 和 Windows XP。
节省大量资金
省下带着您的个人电脑去修理店所花费的金钱、精力和时间。DLL-files.com Client 更便宜而且更简单。用仅仅 ?59 的 Client 费用修复您的 DLL 错误,并获得全面的技术支持和终身许可。
完全不用操心
DLL 错误可能随时出现在任何程序上。DLL-files.com Client 可修复当下的错误,还可以解决任何未来可能出现的 DLL 错误。如果您购买 DLL-files.com Client,您就拥有了它。您只需要支付一次,就可以在任何需要的时候使用该程序。
106 位用户
在过去的 24 小时从我们这儿订购
30天退款保证
”Thanks! Your Client did the trick and is greatly appreciated!”
人们喜爱 DLL-files.com Client
”Thanks! Your Client did the trick and is greatly appreciated!”
每月超过 250 万下载量
DLL-files.com 由瑞典 Tilf AB 公司拥有并运营。网站内容和收藏的 DLL 文件整体(遵循“收藏版权”法律)的版权归 Tilf ABgfsdk_psm.win32.dll
DLL大小:26KB
DLL语言:简体中文
DLL授权:免费软件
更新时间:
DLL类别:G
应用平台:
网友评分:
内容介绍热点排行下载地址相关文章
gdiplus 或者 gdiplus.dllDLL 名称: Microsoft GDI gpsvc.dllgdal16.dllglew32.dllgfsdk_shadowlib.win64.dllGsIo.dllGFSDK_SSAO.win64.dllgdiplus.dll GF.dllgranny2.dll
下载错误?
gfsdk_psm.win32.dll

我要回帖

更多关于 wechatwin.dll 的文章

 

随机推荐