加入安全+交流群和大鳄们一起交流安全技术
作者介绍:杨秀璋
自幼受广东大山的薰陶,养成了诚实真挚的性格。经过寒窗苦读,考入BIT,为完成自己的班主任梦,舍弃IT、航天等工作,成为贵财一名学院班主任,并想把自己所学所感真心传授给自己的中学生,帮助更多陌生人。
一.工具&术语
1.网安术语
常见安全网站及峰会:
看雪()
安全客()freebuf()
安全牛()
安全内参()
绿盟()
先知社区()
基础知识:
风险评估
1.渗透测试技术:踩点扫描侦测、信息搜集、暴力破解、漏洞扫描、Web权限获取、Web挂马、溢出功击、植入侧门、内网渗透等。
2.安全漏洞的代码审计和代码加固技术:缓冲区溢出、拒绝服务、远程命令执行、注入、跨站、Web加壳。
安全防护
1.中间件和Web应用的安全检测与防护方式:框架漏洞、权限绕开、弱口令、注入、跨站、文件包含、文件上传、命令执行、任意文件读取和下载等。
2.主流厂商网路安全设备的调试与配置;主流数据库系统的补丁、账号管理、口李玲硬度、有效期检测、远程服务、存储过程、审核层次、备份过程、用户功能和权限控制等基础技术;数据库库内库外加密、硬件加密、数据库审计技术;操作系统安全管理、客户端访问控制、入侵测量技术、数据异地灾备等技术。
3.主机操作系统和应用软件的安全配置、主机运行的应用程序、正常运行所需端口,服务的正确配置,涉及系统安全风险测试、文件系统、关键数据、配置信息、口令用户权限等内容。
应急响应
1.应急响应相关技术:入侵取证剖析、日志审计剖析等。
2.操作系统常规安全防护技术:借助系统日志、应用程序日志等追溯共计途径,系统帐号、文件系统、网络参数、服务、日志审计等项目安全检测与安全加固技巧。
3.网路设备和安全设备的功能及使用方式:路由器、交换机、防火墙、入侵测量系统、拒绝服务供给系统、网页防篡改系统、漏洞扫描系统等。
安全加固
1.操作系统(Windows、Linux、Unix、Mac)的常规安全防护技术:借助系统日志、应用程序日志等追溯功击途径,统帐号、文件系统、网络参数、服务、日志审计等项目安全检测与安全加固方式
2.Webcms、中间件、数据库等常规用Web应用的加固知识,应用防火墙、IPS、IDS等安全设备进行辅助加固举措。
大数据安全
1.云估算和大数据技术带来的安全问题:虚拟机安全、应用程序安全、大数据安全。
2.大数据剖析技术提高网路系统安全隐患发觉和防护能力。
物联网安全
1.ID/IC卡的安全漏洞检查和发觉技术,智能卡常见加密算法。
2.物联网应用环境中典型安全功击:RFID功击等。
3.无线安全、硬件安全等知识。
其他
1.密码学概念、加密算法、加密剖析工具。
2.网路功击原理及常见网路功击合同,数据包剖析工具。
3.Web功击种类及常见的Web借助形式,注入功击类型及形式。
4.漏洞形成缘由、漏洞的借助与防护方法。
5.恶意代码、逆向工程、沙箱保护。
6.联通互联网恶意程序检查与处置机制,联通逆向剖析与代码审计技术、移动安全防护。
7.数据恢复常用技术及工具。
8.工业控制系统、工控漏洞及加固剖析、工控漏洞玩、工控安全仿真及蜜罐、工控系统上位机及应用安全等。
常见功击手段:
常见术语:
下边分享2019年看雪安全论坛的几张图,与君自勉。CSDN和看雪都早已20年了,那些年见证了无数技术更新,博友不断成长。
2.常用工具
Burpsuite
Burpsuite是用于功击web应用程序的集成平台,包含了许多工具。Burpsuite为这种工具设计了许多插口,以推动功击应用程序的过程。所有工具都共享一个恳求,并能处理对应的HTTP消息、持久性、认证、代理、日志、警报。一般借助Burpsuite抓包剖析,找寻Web漏洞。
手机APP渗透两种思路:
1.笔记本浏览器打开链接,burpsuite抓包,更改user-Agent的内容。通常是判定user-Agent里有没有MicroMessenger(适宜没有做重定向,或则重定向不加token验证)。
2.做了重定向,加token验证。手机和笔记本同在一个局域网下,设置笔记本为手机代理,用burpsuite抓包。设置了笔记本代理手机的情况下,笔记本相当于一层网段,自然抓取的到。
Fiddler
Fiddler是坐落顾客端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一。它才能记录顾客端和服务器之间的所有HTTP恳求,可以针对特定的HTTP恳求,剖析恳求数据、设置断点、调试web应用、修改恳求的数据,甚至可以更改服务器返回的数据,功能十分强悍,是web调试的神器。
Fiddler是用C#写下来的,它包含一个简单却功能强悍的基于JScript.NET风波脚本子系统,它的灵活性十分棒,可以支持诸多的http调试任务,而且还能使用.net框架语言进行扩充。安装前需安装microsoft.netframework可执行文件。
手机渗透:可以尝试抓取陌陌浏览器中的结构头,接着通过fiddler的方法,在用第三方(360、QQ、谷歌等)打开的时侯,所有数据就会经过fiddler,将该结构更改即可。
SQLMAP
SQLMAP是一款十分强悍的开源渗透测试工具,用于手动检查和借助SQL注入漏洞控制数据库服务器的过程。它配备了一个强悍的检查引擎,由Python语言开发完成,通过外部联接访问数据库底层文件系统和操作系统,并执行命令实现渗透。
OllyDbg
OLLYDBG是一个新的动态追踪工具,将IDA与SoftICE结合上去的思想,Ring3级调试器,十分容易上手,己取代SoftICE成为现今最为流行的调试揭秘工具了。同时还支持插件扩充功能,是目前最强悍的调试工具。
IDAPro
交互式反汇编器专业版(InteractiveDisassemblerProfessional),是目前最棒的一个静态反编译软件,为诸多0day世界的成员和ShellCode安全剖析人士不可缺乏的神器。IDAPro是一款交互式的,可编程的,可扩充的,多处理器的,交叉Windows或LinuxWinCEMacOS平台主机来剖析程序,被公觉得最好的花钱可以买到的逆向工程神器。IDAPro早已成为事实上的剖析敌意代码的标准并让其自身迅速成为功击研究领域的重要工具。它支持数十种CPU指令集其中包括Intelx86,x64,MIPS,PowerPC,ARM,Z80,68000,c8051等等。
pangolin
Pangolin(英文译名为穿山甲)一款帮助渗透测试人员进行Sql注入测试的安全工具,是北京宇造诺赛科技有限公司(Nosec)旗下的网站安全测试产品之一。
Caidao
Caidao软件听说是一个南宁退役士兵写的,真的很厉害。它是一款Webshell管理工具,支持各类语言,常见的包括ASP、ASPX、PHP、JSP、CFM等,前面希望自己也能深入研究攻守底层内容。目前,Caidao早已被中国蚁剑和冰蝎Behinder代替。
中国蚁剑
中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。中国蚁剑采用了Electron作为机壳,ES6作为后端代码编撰语言,搭配Babel&Webpack进行组件化建立编译,外加iconv-lite编码解码模块以及superagent数据发送处理模块还有nedb数据储存模块,组成了这个年青而又饱含活力的新一代神器。
它包括的功能有端口扫描、Socks代理、反弹Shell、内网漏洞扫描、内网代理浏览器、内网漏洞溢出测试、后门扫描、密码爆破、打包下载、交互式终端、权限提高。
GitHub上蚁剑搜AntSword:
冰蝎Behinder
地址:
差别备份
数据备份主要分位完全备份、增量备份和差别备份。其中差别备份是指备份自上一次完全备份以后有变化的数据,在差别备份过程中,只备份有标记的这些选中的文件和文件夹。它不消除标记,即备份后不标记为已备份文件,不去除存档属性。
整体流程是先备份日志,之后插入一句话Muma;再度备份时,数据库只会备份两次间隔中的差别,致使生成下来的文件尽可能小,故称为“差异备份”。
一句话木马是:
一句话木马插入到数据库表的a数组中,执行接收自定义Sh参数,类似于URL的Code参数,相当于是一个后门,第二部份Caidao会使用到。
asp:
<%execute(request("value"))%>
php:
aspx:
<%eval(Request.Item["value"])%>
二.常见功击
谢谢汤神的分享,推荐你们阅读下边两篇原文,这儿主要是学习看雪峰会分享的知识,也作为自己网路安全的入门文章
参考文章:
探讨WEB安全编程:
XSS跨站总结:
1.SQL注入
汤神从漏洞动因,功击方法以及防御方案三个方面讲解SQL注入。漏洞动因我们可以用这两句话,使用用户参数拼接这个SQL句子,这个参数改变了原有的SQL结构,改变了这个SQL的注入。
右图右边这是一个数据库,红色部份的字体是我们在代码中讲到的SQL结构,红色部份就是功击者可能会传入的参数(‘1’='1’始终成)。当我们把这个SQL结构拼接下来以后产生了一个新的结构,这个结构被执行然后把整张表所有的数据传输下来,数据库比较大的访问更多恳求,整个可能就挂了,还导致一些数据泄露的情况,这种就是SQL的注入动因,参数改变了原有的SQL结构。
功击者一般有哪几种功击形式?汤神把它分为了三种类型:一种是回显注入,一种是报错注入,一种是盲注。
回显注入
借助注入漏洞可以改变页面返回数据,则称之为回显注入。
第一张图是传入ID是正常的正型数字,返回的结果是用户的一个信息传入ID等于1,里面URL把这个参数更改了一下,等于1,之后加了or1=‘1,当它拼接到以后,跟上面一样把整个表的数据传输下来,那边听到整个用户表的数据都被列出下来了。借助漏洞可以改变这个页面的数据我们称作回显注入播放量双击平台,这个黑客可以直接把这个数据下载出来。
报错注入
右图十分清楚听到,URL前面这个部份是正常URL加上功击者所借助的功击代码。虽然这前面的功击代码也是执行不了,但放在数据库中,最后会导致数据库返回异常码,并把异常码抛下来,接着这个用户名(act_admin10.59.107.125)就被展示下来了。这是十分敏感的信息,我们写代码的时侯须要把数据库抛下来的错误屏蔽,不让其在前台显示下来,通过报错显示了一些敏感信息,我们称之为报错注入。
盲注
盲注和回显注入以及报错注入不一样,我们没有办法通过页面数据见到它的区别。可以通过两种方法实现盲注——布尔盲注和时间盲注。右图中绿色部份是正常URL,白色部份是布尔注入的表示式,上面加一个and截取一个字符,判定一下id的第一个字符是不是小于字母a。假如创立则整个条件都创立,这个时侯页面是有反馈数据的;若果不创立这个页面就不返回数据,这就是布尔数据。我们可以看见有数据和没有数据的情况,当字母a不断变换的时侯,也可以把这个数据库上面的数据猜想下来。
时间盲注是下边白色区域部份,我们晓得数据库上面可以用一些IF函数,也是截取第一个字符,假如这个不创立就到五秒钟返回,通过这个页面返回的时间可以判定这个地方是不是有注入的,也可以把这个数据都给下载出来。
刚才说到功击者遇到的三种功击形式,下边看一下怎样样检查页面当中有没有注入点?我们通过SQLMAP实现,可以看见这是一个CMD窗口,里面是讲到的检查表达式,Splmap.py以及须要检查的UI,须要有这个注册点它会告诉你有什么注入,例如说这个页面是在本地测试的结果,它就告诉了有回显注入、错误注入以及一些盲注。
呢么,如何样防范服务器的安全呢?
第一种方式是拦截带有SQL句型的参数的传入。参数会改变SQL的结构,当我们晓得这个参数是整型的时侯,就把这个参数变革为整型,整型肯定不包括这个SQL结构,难以改变结构,哪就不存在SQL注入。
第二种方式是通过预编译处理拼接参数的SQL句子。有的时侯我们难以预测它传哪些参数,例如我们去峰会回复一个贴子,肯定没有办法控制,这个时侯我们可以用PDO预处理,这是最常见的方式,也是一个最好的技巧。但有时我们会写一些复杂社会句子,会用第一种方式,我们先定义好这个SQL句子结构,再把参数放进去,这个时侯是难以达到修改SQL句子处理的目的。
第三个方式是定期剖析数据库执行日志,判定是否有异常SQL执行。当业务比较大的时侯,日志是极其多的,可以找一些SQL的取模软件进行取模,取模以后并不太多,倘若直接看的话是海量日志,是无法看的。
2.XSS跨站
跨网站脚本(Cross-sitescripting,一般简称为XSS或跨站脚本或跨站脚本功击)是一种网站应用程序的安全漏洞功击,是代码注入的一种。它容许恶意用户将代码注入到网页上,其他用户在观看网页时都会遭到影响。这类功击一般包含了HTML以及用户端脚本语言。
XSS功击一般指的是通过借助网页开发时留下的漏洞,通过巧妙的方式注入恶意指令代码到网页,使用户加载并执行功击者恶意制造的网页程序。那些恶意网页程序一般是JavaScript,但实际上也可以包括Java、VBScript、ActiveX、Flash或则甚至是普通的HTML。功击成功后,功击者可能得到更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各类内容。
主要从漏洞动因、攻击场景和防御方式三方面讲解。
如上图所示,里面有一个URL,下边是一个页面返回的HTML代码,我们可以看见红色部份HTML是我们事先定义好,红色部份参数是用户想搜索的关键词。当我们搜索了test+Div最后等于123,对后反馈页面通常搜索会告诉你用户搜索了哪些关键词,结果怎样等等。
这个地方若果没有做好转移,可能会导致XSS跨站,我们可以看见红色部份是我们事先定义好的结构,被功击者借助以后它先把这个DIV结束了,最后加上一个script标签,它也有可能不跟你谈标签,直接发送到它的服务器上。参数未经过安全过滤,之后恶意角本被放在网页当中执行,用户浏览的时侯执行了这个脚本。
漏洞缘由即为:
XSS分为三种类型——反射型、存储型以及DOM型。
反射型
右图是专门训练一些WEB漏洞的练习页面,我们可以输入自己的名子,输入然后会把我们的名子显示下来。比如我们输入了一个“张三”,这个时侯弹出来了一个“123”,在那儿显示了一个张三,然而script标签没有下来,由于这个标签被执行了。
储存型
在储存型XSS中,可以看见这个URL里面并没有代码,并且仍然弹出了一个“1”。它是发觉个人资料页的时侯有一个XSS漏洞,在个性签名的位置填入了一个XSS标签,弹出了一个“1”,把这个地址发给他人,他人看见这个地址并没有哪些代码以为这个页面是安全的,结果一打开就插入了这个XSS代码。
储存型XSS的功击害处比较大,由于它的页面当中是看不到这个Script的代码,他人防不胜防。只要管理员没有发觉,下一个用户或则下一个用户仍然接发它,而反射型须要用房主动点击的。
DOM型
Dom型的XSS是一些有安全意识的开发者弄下来的。例如说接受参数会做一些过滤,把一些字符通配符一下,可是通配符以后仍然会存在着XSS的情况,例如说右图中,我们里面输入的可以看见这行代码规律,把这个大括弧、小括弧以及双页号进行转移,按理说转移以后它应当不会再作为它的标签存在,不会存在XSS的代码。下边Script通过ID获得的这个值,复制到了这个DIV上,经过DOM操作过后,之前通配符的字符就变为它的标签,所以经过DOM操作的XSS我们称之为DOMXSS。它有可能通过URL传播,也有可能通过服务器的传播。
最后给出一些编码的防范举措。
第一是标签黑白名单过滤。有时根本就不须要考虑到它是不是HTML标签,我们根本用不到HTML标签。
第二是代码实体通配符。只保留文字部份这是一劳永逸的,有时我们还是须要展示这个标签,例如说程序峰会当中要贴一个代码,这个时侯我们须要用一些通配符,它会把这个大括弧、小括弧以及双冒号做一个通配符,做为一个字符,就难以执行这个标签型,前面加一个参数,但有时侯单冒号也会导致XSS。
第三是httponly避免cookie被窃取。一个讯号当中有这么多的地方存在着这个输入以及测量的地方,可能就有一些地方漏掉,只要有一个地方漏掉了,用户的cookie信息就被窃取了。服务器在发送用户信息的时侯,我们须要加上一个httponly,这个代码难以读取到cookie的信息,这么功击者也是得不到这个信息的。对于用户来说也是十分好的保护。例如说张三在我们网站上登录了一下用户名,李四他特意发了一个功击恳求,他拿不到这个用户ID,就谎称不了这个张三。
假如在Cookie中设置了HttpOnly属性,这么通过js脚本将难以读取到Cookie信息,这样能有效的避免XSS功击
3.越权漏洞
我们再来看看越权漏洞,在一些系统当中假如存在着多种用户角色,每一种角色有不同的权限。操作业务适宜假如权限不严格可能会发生越权漏洞。越权分为垂直越权和平行越权,其形成缘由包括:
1.业务系统存在用户权限验证
2.对用于的权限验证不严谨
3.用户能操作不属于自己权限的操作
平行越权
在WEB系统中有商城,这个商城中必不可少的就有订单,订单肯定有一个店面ID,我们一般把它设置为一个自下降的ID,这个ID是一个数字类型。在URL里面假如有一个订单ID就是100,功击者会尝试100+1,当它ID等于101或则99的时侯能够访问到。
倘若能访问到而且这个订单信息不是我的,这个地方就存在着一个漏洞。张三可以看见李四的订单信息,这个时侯就存在着越权。张三和李四是平级的用户,她们两个权限是一样,相互可以看见平台信息这称作平行越权。
这个有哪些害处呢?
例如说这个网站有漏洞,倘若是竞争对手他就可以晓得用户在我的平台上下过订单的行为,之后去营销。假如把这个订单ID直接曝露下来,还有一种可能就是竞争对手会按照我们的订单IP的下降量,判定我们的下降量,就晓得我们三天究竟有多少订单。
平行越权防御方式:我们查询的时侯必须加上当前用户的ID,就是orderID加上UID,这样不会出现张三可以看见李四的订单了。
垂直越权
接出来我们再看一下垂直越权,这是一个普通用户步入到后台管理系统中,他的权限就扩大化了。一般这些情况下,后台会集成到更多的控制器来统一管理,但仍然有一些电邮会漏掉并没有集成到,才会发生此类情况。
黑客不会一个一个找,会通过一些扫描器发觉漏洞进去。建议不要把自下降ID曝露下来,可以做对称加密或则非对称加密,先转换为一个字母类型,让他人看不到你的数字型的ID是多少。他人就没有办法通过这个加一减一的形式越权,也看不到你的三天业务下降量。
汤神建议尽量把前台的方式和后台的方式区分开来。越权,虽然不仅仅限于展示,我们刚才听到了这个订单,张三可以看见李四的订单信息是查看,然而有的时侯我们更改订单的时侯也会出现这个问题,所以在读写的时侯都须要注意一下这个越权的问题。
4.CSRF跨站恳求伪造
CSRF一般会配合XSS使用。服务端错把浏览器发起的恳求当作用户发起的恳求,会导致XSS问题。例如说我打开了张三的网站,登录了一个用户信息,李四网站上有一个功击代码,向张三这个网站发起恳求,张三的网站会以为你本人发起的恳求,实际上是浏览器发出的恳求。
形成缘由为:
1.服务端错把“浏览器发起的恳求”当成“用户发起的恳求”
2.已登陆的浏览器,打开恶意网址后,被执行了相应操作
右图中有一个表单,右边是它的源码,我们可以看见表单每一项都在,并且从安全的角度上考虑它是少了一样东西,没有一些验证码或则TOKEN等等相关信息。服务端假如没有验证这个问题,还会导致这个CSRF的功击。
怎样测量我们的系统当中是否存在这个CSRF?
1.除去token参数尝试能否正常恳求
2.除去referer是否可以递交成功
3.是否能用GET递交取代POST递交
假如以上都存在,这么它就存在CSRF。建议一定要验证Reeferer信息、Token验证、图片验证码等。按照业务安全等级越高,最基础的可以用这个refefe验证,再初一级就是token,再初一级就是图片验证。
5.支付漏洞
最后瞧瞧支付漏洞。汤神之前听到一个新闻,有一个四川老总,他想做线上找人做了一个网站,这个网站存在着一些支付漏洞,一周以后他发觉这个订单量急速上升,卖了70多万,结果看了一下账户余额只有几千块钱,报案以后才查到缘由,而且货物早已发出去了。
支付漏洞主要形成的诱因包括:
1.开发者在数据包中传递支付的金额
2.前端没有对金额做校准或则签名
3.造成功击者可以随便篡改金额递交
引起这种漏洞缘由有好多,例如说支付金额是由后端递交的数据,不是前端估算的,但是没有对这个金额做校准,直接信任后端递交的金额,造成这个功击者可以随后更改这个金额,例如更改为一毛钱,这是十分典型的可以随便修改这个金额。
里面的金额是94元,这个表单上面改为一毛钱,最后递交的时侯是一毛钱,这是十分好的漏洞,也是十分典型的。
更改数目:
还有一个问题是数目的限制,一个价钱是26元,一个是27元,把这个数量变为负一以后,一递交变为一块钱了。这是之前数据包的漏洞,他冲值了一块钱,他发觉有一个数据包向网站发送,他就把这个数据包反复重放,就加了好几次,实际上只冲值了一块钱。
怎么防范?
可以限制这个优价订购产品,例如说正数的时侯肯定不行,等于零的商品依照业务情况也是须要多注意的。限制免费商品获得金钱和积分的情况,有一些商品免费,而且它可以获得一些积分,那就存在着刷积分的情况。
最后给出了汤神这次分享的思维导图。
PS:真心感激自己要学习的知识很多,也有很多前辈卧虎藏龙,高调加油,一起进步~
三.音乐异或揭秘示例
接出来复现CSDN“鬼手56”大神的文章,他的网路安全、Crackme、病毒剖析、软件逆向等系列文章真心推荐你们学习,包括他开源的项目,他的文章我都打算allin。
参考原文:
我们打开PC端某音乐顾客端,例如想下载周杰伦的“骑士精神”,一般须要提示付费。
此时点开设置,选中“下载设置”,找到缓存文件目录。C:\Users\yxz\AppData\Local\Netease\CloudMusic\Cache\Cache
双击播放该歌曲,之后根据找寻最新的文件或只保留一首歌,其中后缀名为“.uc”的最大文件就是加密之后的文件。
接在将文件拖动到010Editor软件,如右图所示:它是一个加密文件,最多的数据是A3,鬼手高手成果的预测其是加密后的无意义0,一般音频的加密方法不会太复杂,而最简单的异或加密(可逆)。
接着点开菜单,Tools(工具),将其转换为“十六补码”,进行“二补码异或”操作,更改数据为无符号十六补码,并对A3进行异或即可。
注意选择无符号(UnsignedByte)和异或A3。
异或加密揭秘:
A3⊕A3=00
A 01100001 3 00000011
A 01100001 3 00000011
0 00000000 0 00000000
文件揭秘如下所示,其中A3变换为00,揭秘完以后的字符显得有意义。前三个字节是ID3,这个是MP3文件格式的脑部。
最后将文件重命名为“.mp3”,此时可以听歌了播放量双击平台,“骑士精神”走起。
PS:这是一个简单的加密过程,推荐读者们下载正版歌曲,共同维护版权和红色网路环境。同时,异或加密音乐早已好多年了,希望这种开发公司优化下加密算法,解决这个漏洞。这篇文章更希望分享加密的过程给读者。
四.总结
希望这篇基础性文章对你有所帮助,假如有错误或不足之处,还请海涵。后续将分享更多网路安全方面的文章了,从零开始很难,但秀璋会一路走下去的,加油。
原文链接: