关于神奇的@功能简要分析
来源: 贺宇轩 Move on的日志
人人网又一个搞笑小漏洞火了,利用的是@功能。
比如输入
@啦啦啦啦啦(265323688) (265323688)
(注意[两个右括号]后都有个空格)
这样就得到@我的效果(因为数字是我的id~),同时名字去是啦啦啦啦啦……
ok以上是现象,接下来做一点简要的小分析,欢迎各位指正!
人人网@原理
当留言的正则表达式出现如下内容时,将会触发@功能:
(Python写法) r'@(.*)\(\d+\) '
(Preg/PHP写法) '|@(.*)\\(\\d+\\)| '
(汉字部分为贪婪的)
总之就是@一些汉字(一些数字) 这样的写法(正则写得简单了点,‘一些汉字’支持大部分中英文标点……网友证实。显然括号就别再写了)
通过正则取得数字后,会验证数字id对应的人名是否与‘一些汉字’相同,若不相同,启动过滤功能——即在右括号前加一空格,如@啦啦啦(1231231 ),这样就使得非法@失效。
当使用正则将非法@都处理完毕后,再使用上述的正则表达式进行处理,但这次就不过滤了!于是直接生成链接(以数字对应id的用户为href,以‘一些汉字’为innerText的anchor),但此时不会通知被@好友了。。。
结论:你想利用漏洞的话,两段数字中,后一段必须是真实的,而前一段可以随便填写(生成的链接也指向了不存在的人~)
最后请注意格式什么的。
ok,以上内容不适合科普。
但是这样,是不是可以搞一些XSS什么的呢?
毕。
分享到:
相关推荐
在Android应用开发中,"仿微信@功能"是一项常见的需求,尤其在社交或者协作类应用中,用户常常需要在文本输入框中提及(@)其他用户以进行互动或通知。这个功能涉及到多个技术点,包括UI设计、字符串处理、事件监听...
在Android平台上实现类似QQ和微信的群组@功能是一项复杂而关键的任务,它涉及到用户交互、数据处理和界面设计等多个方面。以下将详细介绍这个功能的关键知识点,并提供可能的实现路径。 1. **用户界面(UI)设计**...
在iOS应用开发中,@功能通常用于社交网络或者聊天应用中,允许用户提及或通知其他用户。这个功能在实现上涉及到多个技术点,包括文本处理、用户数据管理、UI交互等。下面我们将深入探讨如何在iOS中实现@功能。 首先...
在IT行业中,"仿新浪@功能"通常是指在应用程序或网站上实现类似于新浪微博的用户提及功能,让用户能够通过“@用户名”的方式来提及其他用户,从而引起被提及用户的注意或者参与讨论。这种功能常见于社交媒体、论坛和...
在Android应用开发中,"仿qq微信@功能"是一个常见的需求,主要涉及到用户在聊天或者评论中提及(@)其他用户的功能。这个功能的核心在于实现用户输入时的自动补全、高亮显示以及后续的数据交互。下面将详细介绍实现...
【jQuery仿新浪微博@功能代码】是一种常见的前端交互设计,它基于JavaScript库jQuery实现,用于在网页文本输入框中实现类似新浪微博的“@”提及功能。这个功能的主要目的是提高用户在社交媒体或评论系统中的互动体验...
【标题】:“Android-模仿@功能Demo” 在Android开发中,@符号通常用于实现提及或引用功能,类似于社交媒体上的“艾特”某人。这个Demo是关于如何在Android应用中模仿这种功能,允许用户在输入框中输入@,然后显示...
微博@功能详解 ,js类 可以直接运用。具体功能可以自己配置
5. **话题#功能**:类似@功能,话题`#`的处理也涉及到正则匹配和UI更新。但话题通常不会直接链接到某个用户的个人信息,而是会链接到一个话题页面,展示与该话题相关的所有内容。处理方式与@功能相似,只是链接的...
首先,我们需要理解“@功能”的基本原理。在微信等社交应用中,@某人通常是通过搜索或选择联系人列表来完成的。当用户输入“@”字符时,应用会弹出一个联系人选择对话框,让用户能够选择一个或多个联系人,并将他们...
在IT行业中,开发类似QQ和微信的@功能是一项常见的需求,尤其在社交应用和团队协作工具中。这个功能使得用户可以方便地在消息中提及其他人,确保他们收到通知,提高沟通效率。以下是对这一功能的详细说明: 1. **...
在JavaScript编程领域,创建一个聊天室功能是常见的需求,尤其在Web应用中。这个示例项目"vue-tribute-demo"是基于Vue.js框架构建的,它实现了动态的@提及功能,利用了开源库Tribute.js。下面我们将深入探讨这个项目...
这为@功能提供数据基础。 2. **实时输入监听**:在聊天界面,我们需要监听用户的输入,当检测到“@”字符时,触发用户提及功能。 3. **智能提示与选择**:当用户输入“@”后,程序应快速返回一个与输入字符匹配的...
在开发社交应用或者论坛系统时,"仿微薄@功能"是一个常见的需求,它允许用户在发布内容时提及其他用户,从而实现互动和通知。这个功能的核心在于如何正确地解析和处理用户输入中的"@用户名"格式,以及如何将通知发送...
在网页开发中,提供@功能和emoji表情输入框是增强用户交互性和社交体验的重要手段。本文将详细探讨如何使用HTML来实现这两个特性,为用户提供一个类似社交媒体平台的友好界面。 一、@功能实现 @功能通常用于提及或...
在Android开发中,"带@功能的EditText"是一种常见的交互设计,它允许用户在输入文本时,通过@符号来提及其他用户或者特定的内容,类似于微信等社交应用中的功能。这个功能通常用于聊天、评论或者论坛等场景,可以...
在Android应用开发中,模拟QQ微信群组中的“@”功能是一项常见的需求,它允许用户在聊天或评论中提及特定的用户,确保他们收到通知。这个功能的实现涉及到多个技术层面,包括用户界面设计、事件监听、数据处理以及...
微信小程序实现@功能是当前社交软件中的一个常见需求,使得用户可以在文本中通过特定的标记方式提及其他用户。在微信小程序中实现该功能,主要涉及以下几个方面的知识点: 1. 微信小程序的@功能介绍: 微信小程序...
在IT行业中,实现类似微博的“@”功能是一项常见的需求,尤其在社交网络和论坛等交互性强的应用中。这个功能允许用户在文本中提及其他用户,以便他们收到通知。在这个项目中,我们关注的是如何创建一个仿微博的“@”...
在Android开发中,仿新浪微博的@功能是一项常见的需求,它涉及到用户交互、文本处理和社交网络规范等多个方面。本文将详细解析如何实现这样一个功能,包括生成"@xxx"字符串、将其追加到输入框以及删除完整的"@xxx"等...