URL中的奇怪字符

 贺群爱你_235 发布于 2022-12-29 01:24

在我的网络服务器中,当用户请求带有奇怪字符的网址时,我会删除这些字符.系统会记录这些案例.当我检查消毒后的病例时,我发现了这些.我很好奇这些网址的目标是什么?

我检查IP,这些是真实的人,并使用网站作为一个普通人.但是在这些人的20个URL请求中有一次,URL终于有了这些奇怪的角色.

http://example.com/@%EF%BF%BD%EF%BF%BD%02?o=3&g=&s=&z=%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%3E?, agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0,
http://example.com/%60E%EF%BF%BD%02?o=3&g=&s=&z=%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%3E?, agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0
http://example.com/%60E%EF%BF%BD%02?o=3&g=&s=&z=%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%3E?, agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0
http://example.com/p%EF%BF%BD%1D%01?o=3&g=&s=&z=%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%3E?, agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0
http://example.com/%EF%BF%BDC%EF%BF%BD%02?o=3&g=&s=&z=%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%3E?, agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0
http://example.com/%EF%BF%BDR%EF%BF%BD%02?o=3&g=&s=&z=%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD`%EF%BF%BD%EF%BF%BD%7F, agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36
http://example.com/%EF%BF%BDe%EF%BF%BDv8%01%EF%BF%BD?o=3&g=P%01%EF%BF%BD&s=&z=%EF%BF%BD%EF%BF%BD%15%01%EF%BF%BD%EF%BF%BD, agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36

http://en.wikipedia.org/wiki/Specials_(Unicode_block)

2 个回答
  • 它们本质上是格式错误的URL.它们可以从特定的恶意软件生成,该恶意软件试图利用网站漏洞,浏览器插件或扩展程序出现故障,或者从JS文件中的错误(即使用Google Analytics跟踪)与特定浏览器版本/操作系统结合使用.在任何情况下,您实际上无法控制来自客户端的请求,并且您无法阻止这样做,因此,如果您生成的HTML/JS代码是正确的,那么您已经完成了工作.

    如果您因任何原因想要更正这些URL,可以启用URL重写并使用正则表达式过滤器设置规则,以将这些URL转换为有效的URL.无论如何,我不建议这样做:Web服务器应该回复错误404页面未找到消息,因为这是标准(毕竟这是客户端错误),这在我看来是一种更快更安全的方法而不是应用URL重写.(重写过程可能包含错误,所以有人可以尝试利用它等,等等)

    为了好奇,您可以使用您选择的在线URL解码器(即此)轻松解码这些URL ,但基本上您将发现您已经知道的内容:这些URL 中有许多UTF-8替换字符.

    实际上,%EF%BF%BD是UTF-8替换字符的3字节(EF BF BD)的十六进制表示的url编码版本.你也可以看到,字符作为?EF BF BDFFFDï ¿ ½,等等,这取决于您选择的表示方法.

    此外,您可以自己检查客户端如何处理该角色.到这里:

    http://www.cogsci.ed.ac.uk/~richard/utf-8.cgi?input=%EF%BF%BD&mode=char

    按下GO按钮,使用浏览器开发人员工具检查实际发生的情况:浏览器实际上使用%EF%BF%BD对未知字符进行编码,然后再将其发送到Web服务器.

    2022-12-29 01:57 回答
  • 这些看起来像被称为"Adpeak"的恶意软件/广告软件插入的损坏的URL.

    以下是Adpeak的一些细节:

    如何从我的网页中删除AdPeak lqw.me脚本?

    Adpeak有一个客户端组件,可将以下标记粘贴到网页中:

    <script type="text/javascript" id="2f2a695a6afce2c2d833c706cd677a8e" src="http://d.lqw.me/xuiow/?g=7FC3E74A-AFDA-0667-FB93-1C86261E6E1C&amp;s=4150&amp;z=1385998326"></script>
    

    Adpeak有时也使用主机名"d.sitespeeds.com","d.jazzedcdn.com","d.deliversuper.com","d.blazeapi.com","d.quikcdn.com",可能还有其他人.以下是一些例子:

    <script type="text/javascript" id="2f2a695a6afce2c2d833c706cd677a8e" src="http://d.deliversuper.com/xuiow/?o=3&amp;g=823F0056-D574-7451-58CF-01151D4A9833&amp;s=7B0A8368-1A6F-48A5-B236-8BD61816B3F9&amp;z=1399243226"></script>
    <script type="text/javascript" id="2f2a695a6afce2c2d833c706cd677a8e" src="http://d.jazzedcdn.com/xuiow/?o=3&amp;g=B43EA207-C6AC-E01B-7865-62634815F491&amp;s=B021CBBD-E38E-4F8C-8E93-6624B0597A23&amp;z=1407935653"></script>
    <SCRIPT id=2f2a695a6afce2c2d833c706cd677a8e type=text/javascript src="http://d.lqw.me/xuiow/?o=3&amp;g=87B35A3E-C25D-041E-0A0F-C3E8E473A019&amp;s=BBA5481A-926B-4561-BD79-249F618495E6&amp;z=1393532281"></SCRIPT>
    <SCRIPT id=2f2a695a6afce2c2d833c706cd677a8e type=text/javascript src="http://d.lqw.me/xuiow/?o=2&amp;g=0AD3E5F2-B632-382A-0473-4C994188DBBA&amp;s=9D0EB5E9-CCC9-4360-B7CA-3E645650CC53&amp;z=1387549919"></SCRIPT>
    

    "id"是一致的:在我们看到的情况下,它始终是"2f2a695a6afce2c2d833c706cd677a8e".

    总是有一个"g","s"和"z"参数,有时一个"o"参数的值为2或3.

    我们已经注意到,对于我们的页面,该脚本的某个版本与在DOM中看到损坏的字符100%相关:如果省略"o"或设置为2,我们将看到在附近注入的Unicode FFFD页面或有时是Ux000E字符,也就是SHIFT OUT,它打破了标准的JSON/XML序列化库,这就是为什么我们一直在研究这些URL.我们从未见过"o = 3"的腐败

    但是,有时它看起来像Adpeak混淆,并插入垃圾像这样:

    <script type="text/javascript" id="2f2a695a6afce2c2d833c706cd677a8e" src="???o=3&amp;g=&amp;s=&amp;z=??????????~?"></script>
    

    现在,我们不知道这是Adpeak,因为URL被破坏了,但"o = 3","g","s"和"z"参数是四支吸烟枪.这里缺少主机,因此它将针对我们的服务器进行解析,因此这些UxFFFD将以UTF-8十六进制编码的"%EF%BF%BD"序列发送,这与人们上面看到的相同.

    如果您对这种情况有多普遍感到好奇,对于流量高且人口众多的特定客户,我们会看到Adpeak网址注入大约1.09%的网页,包括结构良好的Adpeak网址以及带有UxFFFD的网址.如果您只是查找带有UxFFFD序列的Adpeak网址,那么这些网址会显示在所有网页的0.053%中.如果您只是查找导致DOM损坏的Adpeak URL(例如,包含"o = 2"或没有"o"参数的有效URL),则覆盖所有网页的0.20%.

    2022-12-29 02:07 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有