天存信息

专注 WEB 应用安全

  • 博客(39)
  • 收藏
  • 关注

原创 iGuard6.0—各适其用的网站防护体系

​随着互联网新技术的涌现,网站的架构技术和涉及的资源也日益多样且复杂化。这对网站各类资源的防护工作也提出了更高的挑战和更细粒度的需求。我们经常碰到的用户真实需求包括:我的 CMS 制作系统,会不会发布内容有问题的网页文件?我的网站允许上传图片和附件文件,这些功能会不会被利用,导致坏人偷偷上传了木马文件?万一有恶意脚本文件假冒成图片文件传上来怎么办?除了网页文件,其他一些关键文件 (比如配置文件) 也很重要,会不会被改了?……这些问题本质上是由不同资源的特点决定的,不同的资源需要有不同的

2021-09-26 15:27:25 319

原创 iGuard6.0 — 有序组织的网页防篡改

马克·吐温和理查·芒格说过:如果你身上唯一的工具是把锤子,那么你会把所有的问题都看成钉子。网页防篡改产品诞生之初就是这样一个情形:一个产品只采用一种防护手段。这些手段有的是依托于厂商掌握的先进核心技术发展而成,有的是在成熟技术基础上稍加改变而实现。无论采取哪种防护手段,厂商往往会过度强调其普适性和有效性,一招鲜吃遍天。网页防篡改产品发展到中期,大家意识到:防止网页被篡改是一个综合性和系统性的目标,并没有一个单一、直接和普适的防护手段能够达成这个目标。其根本原因在于:网页被篡改只是问题的表象,其形成的根源则

2021-08-23 17:33:29 309

原创 iGuard和NFS文件同步的解决方案

一般来说,从文件系统中获得文件变化信息,调用操作系统提供的 API 即可。Windows 操作系统上有个名为 ReadDirectoryChangesW 的 API 接口,只要监视一个目录路径就可以获得包括其子目录下的所有文件变化信息,简单高效;接口的支持度也很广,现有主流的 Windows 操作系统都支持,往前还可以追溯到 Windows 2000。对码农来说,能提供稳定有效且好用的 API 的系统就是好系统。而本文将讨论 iGuard 网页防篡改系统在 Linux 上获取文件变化信息的方法及从 NFS

2021-07-27 16:49:37 275

原创 网页防篡改系统与网站安全

随着网络安全攻防实战演习常态化,企事业单位的网络安全规划标准、建设水平和管理能力均得到大幅提升,反过来也促进了网络安全产品的更新迭代。很多历史悠久的网络安全产品都面临着应用场景发生重大变化所带来的挑战,网页防篡改系统也不例外。传统的网站安全防护体系中,网页防篡改系统的防护目标是保护网页不被篡改。狭义的网页篡改,是指存在于 Web 服务器上的网页文件被攻击者修改。在过去,由于 Web 应用系统发布、运维环节不规范,运维/开发人员安全意识薄弱,攻击者可以利用各种 Web 服务器文件系统权限管控上的缺陷直接篡改

2021-07-15 15:29:55 1703 2

原创 类编程的WAF(下)

类编程的WAF(下)一、编程语言的要素1. 变量2. 条件判断3. 表达式4. 语句二、数据方式的语言表达1. JSON格式2. 规则结构3. 自动循环4. 动态修改三、针对HTTP协议的定制1. 数据类型2. 持久变量3. 状态维护四、有什么用一、编程语言的要素天存信息的iWall3应用防火墙是一种创新式的类编程 WAF,它包含了编程语言的一些基本要素。1. 变量iWall3 中广义的变...

2021-05-26 10:55:37 200 1

原创 类编程的WAF(上)

类编程的WAF一、复杂的需求二、规则的局限性三、大家一起来编程?四、类编程的WAF一、复杂的需求WAF (WEB 应用防火墙) 用来保护 WEB 应用免受来自应用层的攻击。作为防护对象的 WEB 应用,其功能和运行环境往往是复杂且千差万别的,这导致即便防御某个特定的攻击方式时,用户需求也可能是细致而多样的。以最基本的 SQL 注入 (以下简称注入) 为例。注入攻击当然是要防范的,但用户可能还...

2021-05-25 15:30:57 231

原创 注意!保护我方密码阵地!

​开篇先分享一个故(shì)事(gù)引入本期话题:某公司请第三方安全机构做渗透测试,安全机构的大神们各显神通后发现客户公司的信息安全防护还是非常到位的,一时半刻难以得手。于是乎测试团队另辟蹊径,提出“钓鱼”方案,搭建了一个从访问地址到内容都能够以假乱真的客户公司的管理平台,并向所有管理者发送邮件称管理平台“临时维护”,维护期间,如需使用管理平台请从“钓鱼岛”登录。自古套路得人心,就这样,测试团队顺利拿到管理员的账号和密码,圆满完成渗透任务。在日常生活中,各种各样的密码安全问题,层出不穷,由此引发的各种

2021-05-10 16:26:35 209

原创 网站遭遇CC攻击怎么破?

最近,有朋友反映自家网站访问速度明显慢了许多,用 top 命令查看发现 CPU 快被占满了,HTTP 连接数不断攀升,愈演愈烈。了解后得知,这已经不是网站第一次遭受 CC 攻击了,之前试过使用 Apache 做反向代理配置,可是 Apache 也没扛住。一、何为CC攻击那么,什么是 CC 攻击呢?这里用一个段子做引,顾客点了份鱼香肉丝没有肉丝,找店家理论,店家矢口否认,于是第二天顾客找了 N 多闲杂人等把小饭馆全部坐满,还不消费,正常顾客无法消费就餐,店主损失巨大。这,就是店家不懂 CC 攻击.

2021-03-01 17:28:53 972

原创 进击的反爬机制

一、概念爬虫一般是指,通过一定的规则策略,自动抓取、下载互联网上网页内容,在按照某些规则算法对这些网页进行数据抽取,形成所需要的数据集。当然,有了数据之后,就有可能进行一些非法活动。反爬虫一般是指,网站管理员使用一定的技术手段,防止爬虫程序对网站的网页内容,进行爬取,阻止爬虫爬取网页内容获取数据后,进行一些非法活动。反爬方与爬虫方不断的进行博弈,给爬虫方不断制造爬取难度或者一定程度的阻止了爬虫方的网页爬取。而爬虫方也在不断更新技术,来对抗反爬方设置的种种防护措施。二、对抗过程最开始的时候,反爬方的

2021-01-29 11:17:55 388 1

原创 披着羊皮的Neo-reGeorg

混迹 Web 安全行业许久,查杀网站后门已是家常便饭。时间久了,养“马”场也见的多了,Neo-reGeorg 算得上是同类中战斗力超群的“野马”了,也深受黑客和安全渗透人员的喜爱。Neo-reGeorg 能够简化攻击流程。通常,拿下 Web 服务器并进一步横向渗透时,在 Web 服务器上安装必要辅助工具的过程往往不会很顺利。而 Neo-reGeorg 可以让问题变得轻松很多,只需在本地安装好扫描工具,通过 Neo-reGeorg 把流量透传到 Web 服务器内部就可以了。1. 工具介绍Neo-reGeo

2020-12-24 11:39:33 1473

原创 2020 网络安全重保日记

2020 年双节前夕,国内疫情稳定,长假将启,各项安保措施比以往有所升级,而此时更是网络安全重点保障时期,信息安全工作尤其不能懈怠。各用户单位也陆续启动响应,对网络安全负责人、联络人通知到位,深度排查网络安全风险,及时调整网络安全策略,部署实施态势感知、应急响应、持续安全评估、安全监测巡检等安全措施,并确保安全人员现场保障。安保工作如火如荼,天存信息的技术工程人员也相继奔赴各个信息重保工作现场。一、安全措施与前期建设1.1 个人心理建设轮流值守在三个重点客户的工作现场期间,我需要时刻紧盯日志审计平台,

2020-11-27 16:11:17 7683

原创 WEB安全新玩法 [11] 防范批量注册

网站的攻击者通过批量注册用户,能够实施大规模非法操作,如抢优惠券、恶意刷单等。这给服务商造成了直接的经济损失,而大量的垃圾用户也会占用系统资源,增加系统运行压力。防范批量注册需要针对系统特点,多管齐下综合应对,iFlow 业务安全加固平台可以提供各种防范批量注册的技术实现方式。以某电商网站为例,其用户注册功能存在被攻击者利用的可能。在此将模拟攻击者批量注册的行为,并利用 iFlow 使用多种手段来防范攻击。攻击示例攻击者编写 RegistTest.py 脚本进行攻击,脚本使用 WebDriver

2020-11-06 11:30:26 2081 4

原创 WEB安全新玩法 [10] 防范竞争条件支付漏洞

服务器端业务逻辑,特别是涉及数据库读写时,存在着关键步骤的时序问题,如果设计或代码编写不当就可能存在竞争条件漏洞。攻击者可以利用多线程并发技术,在数据库的余额字段更新之前,同时发起多次兑换积分或购买商品请求,从中获取利益。本文将讨论如何简单地使用 iFlow 应用安全加固平台的可编程特性,对竞争条件产生的支付漏洞进行防护。一、原始网站这是一个在支付环节存在竞争条件漏洞的站点:用户输入一个支付数值,系统将这个数值与余额比较,如果支付数值小于余额则允许支付,并从余额中减去支付数值。攻击者编写并执行了

2020-10-30 17:33:55 2819 7

原创 WEB安全新玩法 [9] 重置密码之验证流程防绕过

一般来说,业务流程中出现多个操作环节时,是需要顺序完成的。程序设计者往往按照正常用户的操作顺序实现功能,而忽略了攻击者能够绕过中途环节,直接在后续环节上进行非法操作。iFlow 业务安全加固平台能够在不修改网站程序的情况下,强制流程的顺序执行。某网站系统在用户重置密码时,需进行算术题人机识别验证,再进入邮箱验证码验证环节,通过后才能真正地重置密码。由于程序设计不当,攻击者可以输入任意受害者账号,并正常完成算术题验证后,直接绕过邮箱验证码验证过程,进入到重置受害者密码的环节。我们接下来会看到如何利用 iF

2020-10-23 17:36:40 750

原创 WEB安全新玩法 [8] 阻止订单重复提交

交易订单的重复提交虽然通常不会直接影响现金流和商品流,但依然会给网站运营方带来损害,如消耗系统资源、影响正常用户订单生成、制造恶意用户发起纠纷的机会等。倘若订单对象是虚拟商品,也有可能造成实际损失。订单重复提交的检查工作本应该由网站自身实现,而 iFlow 业务安全加固平台则可以为未实现这项功能的网站提供防护。以某开源购物网站为例,攻击者能够轻松实现订单的重复提交。我们看看如何在不修改网站源代码的前提下,使用 iFlow 通过透明加入一次性令牌来阻止订单的重复提交攻击。一、不检查订单重复提交的原始

2020-10-19 17:14:40 839

原创 WEB安全新玩法 [7] 加密不安全下载路径

提供下载功能的网站,其下载资源的链接是任何用户都能获取的。如若设计不当,攻击者通过分析链接的文本,能够构造出意外但有效的链接,访问网站功能之外的资源,从而窃取主机上的敏感信息。以下就是这样一个例子:网站将下载资源的文件路径作为参数传入,但没有对这个参数进行检查,于是攻击者可以构造多级父路径来尝试获取操作系统的配置文件。使用 iFlow业务安全加固平台能够加密 URL 中的关键部分,使得攻击者的这种构造行为无从进行。一、原始网站1.1 正常用户访问用户点击进入下载页面,点击选择其中一名球星,网

2020-10-16 17:33:40 328 1

原创 WEB安全新玩法 [6] 防范图形验证码重复使用

在完成关键业务操作时,要求用户输入图形验证码是防范自动化攻击的一种措施。为安全起见,即使针对同一用户,在重新输入信息时也应该更新图形验证码。iFlow 业务安全加固平台可以加强这方面的处理。某网站系统在登录时要求用户输入图形验证码。如果账号信息错误并得到系统提示后,用户重新输入账号信息时,仍可使用原来的图形验证码。我们看看如何利用 iFlow 使得图形验证码每次都得到更新。一、原始网站1.1 正常用户访问用户在登录时输入了正确的图形验证码字符,如果提交的账号信息有误,系统提示登录错误。...

2020-10-13 17:27:29 569

原创 WEB安全新玩法 [5] 防范水平越权之查看他人订单信息

水平越权是指系统中的用户在未经授权的情况下,查看到另一个同级别用户所拥有的资源。水平越权会导致信息泄露,其产生原因是软件业务设计或编码上的缺陷。iFlow 业务安全加固平台可以缓解部分场景下的水平越权问题。以某电商网站为例,其查看订单功能存在漏洞:仅依靠修改 URL 参数,任意登录用户不仅可以查看自己的订单信息,也可以查看到其他用户的订单信息。我们看看在网站自身存在缺陷的情况下,如何利用 iFlow 阻止水平越权的订单信息访问。一、原始网站1.1 正常用户访问正常用户登录成功之后,进入个人中心的订

2020-09-29 17:30:19 704

原创 WEB安全新玩法 [4] 防护邮箱密码重置漏洞

大部分具有账号系统的应用都会提供重置用户登录密码的功能,常见方式之一是:用户输入自己的邮箱地址或手机号,应用向这个邮箱或手机号发送验证码,用户将收到的验证码输入应用中即可完成密码重置。这一过程容易因设计不周全而被攻击者加以利用。iFlow 业务安全加固平台可以为设计不当的应用打上动态虚拟补丁,使之防御可能的恶意利用。以某网站为例,其邮箱密码重置功能就存在缺陷:获取验证码的邮箱和重置密码的邮箱可以不一致。攻击者能够给任意邮箱所代表的用户设置新的登录密码,从而冒充受害者登录。当然,我们也会介绍如何在不修改网

2020-09-27 11:25:02 516

原创 WEB安全新玩法 [3] 防护交易数据篡改

防护交易数据篡改一、依赖前端数据的原始网站1.1 正常用户访问1.2 攻击者访问二、iFlow虚拟补丁后的网站2.1 正常用户访问2.2 攻击者访问2.3 代码三、总结在任何涉及交易的系统中,客户与商家之间的交易数据具有核心作用,如购买商品的价格、数量、型号和优惠券等。在客户挑选商品的过程中,这些交易数据逐渐形成;待客户提交订单时,交易数据被商家接收,形成双方认可的订单。交易数据在形成过程中必须要有可靠的临时存储,而不可靠的存储会允许攻击者提交伪造的交易数据,使商家利益受损。iFlow 业务安全加固平台

2020-09-25 12:01:59 524

原创 WEB安全新玩法 [2] 防范前端验证绕过

防范前端验证绕过一、前端验证的原始网站1.1 正常用户访问1.2 攻击者访问二、iFlow虚拟补丁后的网站2.1 正常用户访问2.2 攻击者访问2.3 代码三、总结用户登录,几乎是所有 Web 应用所必须的环节。Web 应用通常会加入一些验证手段,以防止攻击者使用机器人自动登录,如要求用户输入图形验证码、拖动滑动条等。但是,如果验证的逻辑仅仅在前端执行,是很容易被攻击者绕过的。iFlow 业务安全加固平台 可以为只使用前端验证的应用打上动态虚拟补丁,使之成为需要前后端配合执行的验证逻辑,大幅度提高攻击者的

2020-09-18 11:38:35 2539 1

原创 WEB安全新玩法 [1] 业务安全动态加固平台

业务安全动态加固平台一、攻击数据缺乏明显特征二、与业务逻辑高度相关三、难以在开发环节避免四、修补漏洞代价大五、业务层攻击最能体现WEB攻击特性近年来,信息安全体系建设趋于完善,以注入攻击、跨站攻击等为代表的传统 Web 应用层攻击很大程度上得到了缓解。但是,Web 应用的业务功能日益丰富、在线交易活动愈加频繁,新的安全问题也随之呈现:基于 Web 应用所承载的交易特性,某些利用其业务逻辑设计缺陷来构造的针对具体业务的攻击逐渐成为主流,我们称之为业务层攻击。业务层攻击 在技术上具有以下几方面特点:一、攻

2020-09-15 16:20:49 337 1

原创 小饼干Cookie的大魅力

小饼干Cookie的大魅力一、Cookie叙述1.1 观察Cookie在HTTP数据包中的交互二、Cookie有哪些属性三、Cookie的应用场景3.1 HTTP会话状态保持3.2 基于Cookie的SSO单点登录3.3 跟踪分析用户行为四、Cookie的安全问题探讨早期互联网只是用于简单的页面浏览,并没有交互,服务器也无法知道不同的请求是否来自同一个浏览器,不知道某用户上一次做了什么。每次请求...

2019-11-19 10:45:06 1079

原创 网站常见安全风险 — 暴露的CMS

网站常见安全风险 — 暴露的CMS网站内容管理系统(CMS) 自诞生之日起,便是网站建设的一个重要领域。CMS 以其丰富多样的功能和简单易用的操作,有效地解决了用户网站建设与信息发布中常见的问题和需求,一直深受众多使用者的青睐。正因如此,利用 CMS 对网站进行攻击,也就成为黑客的常用手段之一。无需太多复杂的技术手段,只需登录网站 CMS,黑客便可方便快捷地植入暗链和上传 WebShell。然...

2019-11-18 17:15:24 2668

原创 WEB安全防护相关响应头(下)

WEB安全防护相关响应头(下)一、Referrer-Policy -- 不要问我从哪里来二、三、四、前篇“WEB安全防护相关响应头(上)”中,我们分享了 X-Frame-Options、X-Content-Type-Options、HTTP Strict Transport Security (HSTS) 等安全响应头的内容。下文中,我们则侧重介绍一些和跨站安全相关的响应头——一、Referr...

2019-11-15 12:12:27 730

原创 前端安全 — 浅谈JavaScript拦截XSS攻击

前端安全 — 浅谈JavaScript拦截XSS攻击一、XSS攻击类型1. 存储型XSS(持久型)2. 反射型XSS(非持久型)3. DOM XSS二、XSS攻击的危害三、JavaScript拦截1. 编码2. 内联事件及内联脚本3. 静态脚本4. 动态脚本5. 上报攻击信息XSS/跨站脚本攻击,是一种代码注入网页攻击,攻击者可以将代码植入到其他用户都能访问到的页面(如论坛、留言板、贴吧等)中。...

2019-06-28 17:37:10 2094

原创 运用iGuard防御ADS权限维持

运用iGuard防御ADS权限维持一、NTFS文件系统 & ADS特性1. NTFS/ADS 是什么?2. ADS 怎么用?二、如何利用ADS特性隐藏恶意文件三、防御ADS数据流隐藏Webshell的手法权限维持是一门庞大的学问,当攻击者在入侵服务器获得主机权限后,往往会想尽办法隐藏其入侵途径以维持权限。权限维持的一般手段包括构造文件包含漏洞、构造远程任意代码执行漏洞、构造SQL注入点、...

2019-05-28 12:07:24 584

原创 安全利器 — SELinux

安全利器 — SELinux一、初识 SELinux二、SELinux 安全上下文三、SELinux 访问控制四、SELinux 工作模式五、SELinux 日常维护六、自定义 SELinux 规则模块在 Linux 系统中一切皆文件,资源也属于某种文件。用户在访问文件的时候,系统对权限(读、写 、执行)进行检查。只要用户对文件有足够的权限,就可以任意操作资源。root 用户对所有资源拥有所有权...

2019-05-28 11:20:03 363

原创 高频访问SQLite数据库

高频访问SQLite数据库SQLite 是一款开源的 SQL 数据库引擎,由于其自包含、无服务、零配置和友好的使用许可(完全免费)等特点,在桌面和移动平台被广泛使用。在应用开发过程中,如果想保存点数据,自然而然地就会想到 SQLite,毕竟它拥有非常多的实践者。这里分享一个在项目开发过程中遇到的 SQLite 读写问题——在开发一个小型桌面应用系统时,需求是跟踪文件系统中的变更,同时对变更文件...

2019-05-27 17:16:23 457

原创 WEB安全防护相关响应头(上)

WEB安全防护相关响应头(上)一、X-Frame-Options -- 打破框框二、X-Content-Type-Options -- IE你别瞎猜猜了三、HTTP Strict Transport Security (HSTS) -- 不加密不舒服斯基四、浏览器兼容性五、这些响应头打哪儿来的?!1. APACHE2. NGINX3. IISWEB 安全攻防是个庞大的话题,有各种不同角度的探讨和...

2019-05-27 16:59:13 906

原创 巧用 iLocker 清理恶意程序

巧用 iLocker 清理恶意程序起因观察手段解决案例总结iLocker 作为 iGuard 网页防篡改系统的文件驱动过滤模块所衍生出来的独立应用,是一个文件防护工具,可以在文件系统驱动层检查文件操作,根据规则对文件操作进行放行或拦截,可以灵活细致地对文件访问进行控制。分享一则 iLocker 在实际运用中的案例,帮助大家拓展 iLocker 的运用思路——起因和许多突发事件一样,本次案例...

2019-05-27 15:31:32 934

原创 Google Hacking 搜索引擎攻击与防范

Google Hacking 搜索引擎攻击与防范一、搜索基础点二、高级操作符1. 需要知道2. 基本操作符(operator)三、简单应用1. 邮箱抓取2. 基础网站抓取优点四、复杂应用1. Google Hacking Database2. 脚本利用五、如何防范1. 禁止目录列表2. 合理设置站点的 robots.txt3. 合理设置页面的 NOARCHIVE 标签4. 合理设置页面的 NOSN...

2019-05-27 14:17:10 2172

原创 多线程程序开发简介

多线程程序开发简介一、线程 / Threading二、使用线程的几种方式1. 流水线2. 工作组3. 客户端 / 服务器三、线程的好处四、线程的代价1. 计算负荷2. 编程规则3. 更难以调试五、多线程适用场合六、多线程常用编程模型1. one loop per thread2. Leader / Follower3. 推荐模式小结一、线程 / Threading线程这个概念大概在1993年后...

2019-05-27 12:03:10 358

原创 C与跨平台开发

C与跨平台开发C语言跨平台开发跨平台问题小结在众多高级编程语言中,C语言历史悠久,且生命力旺盛,系统开发和应用开发兼具,是信息技术发展的一把利器。这里简单介绍一下C语言的发展及其对跨平台开发的影响。C语言C语言是在1969到1973年间,由贝尔实验室的 Dennis Ritchie 最初为重写unix操作系统而开发的,它成功替代了汇编语言开发操作系统的模式,随后得到了广泛飞速的发展。由于几...

2019-05-24 18:40:04 949

原创 几种常见网络抓包方式介绍

几种常见网络抓包方式介绍一、网络分流器(TAP)二、有网管功能的小交换机三、用两块网卡的Linux方案四、总结无论作为网络运维人员,还是安全渗透工程师,在工作中都会无可避免地碰到网络抓包的需求。对网络运维人员,网络抓包可以:定位网络里的异常设备;排查网络性能瓶颈;了解真实的网络互联状态。对安全渗透工程师,网络抓包可以:有助于逆向分析联网型App;从真实流量中发现可利用的漏洞;...

2019-05-24 18:17:21 23371

原创 解决动态库的符号冲突

一次debug遇到的疑惑:某天发现一个程序有点问题。祭上print大法,在关键的 lib_func() 函数里添加 print 调试信息,重新编译运行。期望 print 出的信息一点都没有,但是程序确确实实又执行过了 libfunc() ,因为除了添加的调试 print 没有执行,libfunc() 该有的功能都执行了。这真是奇怪...

2019-05-24 11:28:33 2071

原创 浅谈同源策略

浅谈同源策略一、什么叫做同源二、跨源网络访问三、跨域资源共享(CORS)四、预检请求(Preflight Request)同源策略可能是现代浏览器中最重要的安全概念了,它在使得同一站点中各部分页面之间基本上能够无限制允许脚本和其他交互的同时,能完全防止不相关的网站之间的任何干涉。现在所有支持 JavaScript 的浏览器都会使用这个策略,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略...

2019-05-23 16:05:36 245

翻译 浅谈「内存调试技术」

浅谈「内存调试技术」一、影子内存(shadow memory)比例+偏移的映射算法二、插桩(instrumentation)三、专用版内存函数内存问题在 C/C++ 程序中十分常见,比如缓冲区溢出,使用已经释放的堆内存,内存泄露等。程序大了以后,查找起来又特别的难。即使我们在写程序时非常的仔细小心,代码一多,还是难以保证没有问题。内存问题除了造成程序崩溃引发意外,也很容易被当做漏洞利用,给程...

2019-05-06 15:10:33 1799

原创 暗链和搜索引擎流量劫持在哪里

暗链和搜索引擎流量劫持在哪里一、加到隐秘的全局『代码』中二、加到JavaScript中三、利用Web服务器自带的重定向/反向代理功能四、利用特殊HTTP响应码对应的自定义页面插入链接与图片设定内容居中、居左、居右互联网如果是个江湖,那它堪比各种武侠小说里的江湖,风起云涌眼花目眩:有的技术使沟通更顺畅,生活质量更高,有的技术应用却是深藏陷阱,藏污纳垢,专为不义的谋利而来。其中暗链和搜索引擎就是特别...

2019-04-29 14:20:49 1019

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除