一.常见术语

1、 脚本语言

less复制代码    脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如[ASCII](https://baike.baidu.com/item/ASCII))保存,只在被调用时进行解释或编译。
复制代码

2、常见脚本语言

markdown复制代码    -   C Shell
    -   JavaScript
    -   Nuva
    -   Perl
    -   PHP
    -   Python
    -   Ruby
    -   Tcl
    -   VBScript
    -   CSS
复制代码

3、静态脚本于动静态脚本的区别:

markdown复制代码        静态脚本不会与数据库进行交互,是直接在本地浏览器上运行,且速度很快,但是可以直接查看到源码;

        动态脚本是会与数据库发生交互的,是运行在web服务器上,显示的是执行结果(在浏览器中也可以运行,源码可以看到)
复制代码

3、 HTTP协议,HTTP代理

markdown复制代码HTTP协议
    超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在[TCP](https://baike.baidu.com/item/TCP/33012)之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以[ASCII](https://baike.baidu.com/item/ASCII/309296)形式给出;而消息内容则具有一个类似[MIME](https://baike.baidu.com/item/MIME/2900607)的格式。这个简单模型是早期[Web](https://baike.baidu.com/item/Web/150564)成功的有功之臣,因为它使开发和部署非常地直截了当。
HTTP代理
    HTTP代理的[匿名性]
    一般是黑客或红客用的,一般的用户很少机会用得上.跳板这个概念用在代理服务上面偶是在接接触snake的那个代理程序见到的。“代理跳板”一般都是指snake开发的那个sock5代理服务程序。代理跳板好像就是支持connect命令的[http代理](https://baike.baidu.com/item/http%E4%BB%A3%E7%90%86)服务器因为常常被当成黑软使用
HTTP代理小常识

    一、HTTP代理的匿名性

        This is a proxy that hides the original users' IP address and other details from the remote server. 这种代理,对远端服务器隐藏原始用户的IP地址以及其它细节(可能,但不必需)。

        HTTP代理匿名性是指不通过非常技术手段,直接使用时代理的匿名安全性。(说明:这里的匿名与其它如[FTP服务器](https://baike.baidu.com/item/FTP%E6%9C%8D%E5%8A%A1%E5%99%A8)的匿名意义是不一样的,不论匿名与否,[代理服务器](https://baike.baidu.com/item/%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8)均能起到“代理”的作用。只是匿名代理可以确保被访问方不能追溯到源IP,在一定程度上更加安全而已。这并不是一个重要的指标,是否必要则仁者见仁、智者见智。)

        测试自己的http代理是否匿名,简单方法:xxx网站,先看“REMOTE_ADDR”显示的ip,如果不是你本身的ip,说明代理服务器起作用了。再看“HTTP_X_FORWARDED_FOR”,如果有,并显示你的ip,为非匿名代理。如果没有显示,则为匿名代理。(Tips:看一下“[HTTP_USER_AGENT](https://baike.baidu.com/item/HTTP_USER_AGENT)”和“HTTP_ACCEPT_LANGUAGE”,你就能知道你的代理提供了多大的安全性。)

        HTTP connect代理

    二、HTTP CONNECT代理

        不是所有的HTTP代理都只能代理HTTP的

        HTTP CONNECT代理服务器是一种能够允许用户建立TCP连接到任何端口的代理服务器,这意味着这种代理不仅可用于HTTP,还包括FTP、IRC、RM流服务等,甚至扫描、攻击。

    三、三种代理的区别

        1.全匿名代理 不改变你的request fields,使服务器端看来就像有个真正的客户浏览器在访问它。当然,你的真实IP是隐藏起来的。服务器的网管不会认为你使用了代理。

        2. 普通匿名代理 能隐藏你的真实IP,但会更改你的request fields,有可能会被认为使用了代理,但仅仅是可能,一般说来是没问题的。不过不要受它的名字的误导,其安全性可能比全匿名代理更高,有的代理会剥离你的部分信息(就好比[防火墙](https://baike.baidu.com/item/%E9%98%B2%E7%81%AB%E5%A2%99)的stealth mode),使服务器端探测不到你的*作系统版本和浏览器版本。

        3.[透明代理](https://baike.baidu.com/item/%E9%80%8F%E6%98%8E%E4%BB%A3%E7%90%86)(简单代理) 改编你的request fields,并会传送真实IP。

            跳板是一个程序,也可以说是一种socks5代理的应用吧。

                * 从本地机器连接到远程机器, 中间通过安装的代理跳板。对应用程序而言,相当于普通的sock代理调用。

                * 在跳板之间传输的数据,是已经被动态加密的。加密种子每次不同。

                * 跳板的数目由1255,不限制,当数目为0时,相当于Sock5代理服务器
复制代码

4、 CMS(B/S)内容管理系统

perl复制代码    CMS是Content Management System的缩写,意为"内容管理系统"。 内容管理系统是[企业信息化建设](https://baike.baidu.com/item/%E4%BC%81%E4%B8%9A%E4%BF%A1%E6%81%AF%E5%8C%96%E5%BB%BA%E8%AE%BE/7346628)和电子政务的新宠,也是一个相对较新的[市场](https://baike.baidu.com/item/%E5%B8%82%E5%9C%BA/238002)。对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解。
复制代码

5、 MD5(不可逆的,常见的MD5解密网站其实是将一些明文进行MD5加密,形成一个库,在查询的时候将密文与库中的信息进行碰撞,最后得到明文)

6、 肉鸡、跳板

perl复制代码    肉鸡也称[傀儡机](https://baike.baidu.com/item/%E5%82%80%E5%84%A1%E6%9C%BA/10413334),是指可以被黑客[远程控制](https://baike.baidu.com/item/%E8%BF%9C%E7%A8%8B%E6%8E%A7%E5%88%B6/934368)的机器。比如用"灰鸽子"等诱导客户点击或者电脑被黑客攻破或用户电脑有漏洞被种植了木马,黑客可以随意操纵它并利用它做任何事情。

    肉鸡通常被用作[DDOS](https://baike.baidu.com/item/DDOS)攻击。可以是各种系统,如windows、[linux](https://baike.baidu.com/item/linux/27050)[unix](https://baike.baidu.com/item/unix/219943)等,更可以是一家公司、企业、学校甚至是政府军队的[服务器](https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E5%99%A8/100571)。
    跳板的原理
        网络跳板,简单来说,就是为了隐藏自己的地址,让别人无法查找到自己的位置。通过跳板的使用,可以减少他人查找到你的可能性,同时也增加了被发现的难度。举个简单例子,你在A朋友家玩儿,发现了通往B朋友家的后门,然后你来到了B朋友家,又发现了C朋友家的厨房是和B朋友家相连的,你就顺便来到了C朋友的家,同时C朋友家的厕所又是和D朋友家相连。你在A朋友家做了一些事情,比如设置和修改。A朋友回家了,他会发现有人进了自己的家,但是他顺着路线可以找到B朋友家,通过长期的寻找,终于找到了C朋友家,但他遇见难题了,他并不知道是B朋友家的人动了自己的东西,还是D朋友家的人动了自己的东西。这时,你就是安全的了。这中间的各种朋友关系,其实就是你的跳板。通过这种跳板的转换,我们可以改变自己上网的IP位置,隐藏自己的真实物理位置。
        跳板,简单来说,就是为了[隐藏](https://baike.baidu.com/item/%E9%9A%90%E8%97%8F/18681)自己的[地址](https://baike.baidu.com/item/%E5%9C%B0%E5%9D%80/80420),让别人无法查找到[自己](https://baike.baidu.com/item/%E8%87%AA%E5%B7%B1/32946)[位置](https://baike.baidu.com/item/%E4%BD%8D%E7%BD%AE/36166)。
复制代码

7、 一句话、小马、大马、webshell、提权、后门、跳板

markdown复制代码    在这里“一句话、小马、大马”我们统称为webshell;

    提权就是我们获得目标的管理权的一个过程;

    跳板就是在我们对目标机进行渗透是为了防止追踪到我们的本机IP,我们控制肉鸡对目标机进行渗透,这个肉鸡就是一个跳板。

8、 源码打包、脱库

9、 嗅探、rookit

10、poc

    简单来说就是一个测试的流程

    比如对一个网站进行SQL注入的检查:

        ?id=1’

        ?id=1 and 1=1

        ?id=1 and 1=2

    这一过程就是一个poc,他只是一个验证过程不需要结果。

11、exp

    就是要实现攻击,得到我们想要的东西,与poc不同的是最后要有一个结果。
复制代码

二、渗透测试

bash复制代码渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。 换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。 我们通常认为渗透测试还具有的两个显著特点是:渗透测试是一个渐进的并且逐步深入的过程。渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。(源自百度百科)说的直白点,就是入侵,目的是发现网络隐患。
复制代码

三、流程

复制代码明确目标 信息收集 漏洞探测 漏洞验证
编写报告 信息整理 获取所需 信息分析
复制代码

四、环境

复制代码虚拟机 目标靶机系统的安装 HTTP协议 网站搭建
复制代码

五、HTTP协议

scss复制代码超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。(源自百度百科)说得直白点就是一种规则,公认的约束,要想上网就必须遵循这种规则。 把域名翻译成IP地址的软件称为域名系统,即DNS。它是一种管理名字的方法。这种方法是:分不同的组来负责各子系统的名字。系统中的每一层叫做一个域,每个域用一个点分开。所谓域名服务器(即Domain Name Server,简称Name Server)实际上就是装有域名系统的主机。它是一种能够实现名字解析(name resolution)的分层结构数据库。在我们上网的过程中,会在地址栏里输入地址然后点击确定,就可以连接到相应的页面。在这个过程中,我们输入的那一串字符其实并没有什么意义,重点是将那串字符解析成的IP地址才是重点,那一串字符仅仅是为了方便人们记忆,如果在地址栏里输入相应的IP也一样可以连接到我们想去的网页。


全球有13台DNS根服务器,分布如下:
    美国VeriSign公司 2台
    网络管理组织IANA(Internet Assigned Number Authority) 1台
    欧洲网络管理组织RIPE-NCC(Resource IP Europeens Network Coordination Centre) 1台
    美国PSINet公司 1台
    美国ISI(Information Sciences Institute) 1台
    美国ISC(Internet Software Consortium) 1台
    美国马里兰大学(University of Maryland) 1台
    美国太空总署(NASA) 1台
    美国国防部 1台
    美国陆军研究所 1台
    挪威NORDUnet 1台
    日本WIDE(Widely Integrated Distributed Environments)研究计划 11.http响应状态码
    
复制代码

img

img

img

img

img

markdown复制代码2、http URL

    url是统一资源定位符,就是我们常说的网址,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。


    我们可通过地址判断其服务器的操作系统类型

    例如:http://www.xxx.xxx.com/admin/index.php
    对于Windows而言不会区分文件名称的大小写,如果输入index.php和index.PHP都不会报错;
    但是对于Linux系统而言,就是区分大小写的,输入index.php就不会报错,index.PHP就会报错。
3、http头
    200 响应码
    date 日期
    content-type 类型
    Accept-charset 浏览器可接受的字符集
    Content-length 表示请求信息的正文的长度
    Cookie 是很重要的信息之一
    http ?/www.xxx.xxx.com/IPsot=373
4 、http请求
    GET 通过URL传值的方式进行传值,明文的,不安全

    POST

    OPTIONS

    PUT

    MOVE

    DELETE

    TRACE

5、HTTP错误配置会导致安全漏洞

    服务器存在允许PUT方式和MOVE方式,这时可以通过PUT方式传输一个webshell.txt然后通过MOVE方式结合解析漏洞就可以拿到webshell。(同文件夹下MOVE同一个文件就是修改名字)

6、HTTP头文件中安全隐患

    在PHP中通常会使用 S E R V R [ “ H T T P C L I E N T I P ” ] 或者_SERVER[“HTTP_X_FORWARDED_FOR”]来获取IP。

    所以可以通过修改http头中的X-Forwarded-For:、client-ip:来进行攻击。

    突破服务器访限制IP

    http头注入攻击

    注入 X-Forwarded-For:1.1.1.1’

    在对ip进行传输的时候用的是insert into update方式来传输获修改,用上述方式就可能通过报错形成注入攻击。

7、https协议

    https其实就是两部分的组成:http+ssl/TLS

    对HTTP加了一层处理加密信息的模块

8、环境搭建

    Windows:

        Iis+asp/aspx/php/+mysql/sqlserver/access

标签:

安全黑客

题外话

网络安全行业特点

1、就业薪资非常高,涨薪快 2022年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

img

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
img

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

关于网络安全学习指南

学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

第三种就是去找培训。

image.png

接下来,我会教你零基础入门快速入门上手网络安全。

网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。

第一阶段:基础准备 4周~6周

这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
image.png

第二阶段:web渗透

学习基础 时间:1周 ~ 2周:

① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
image.png

配置渗透环境 时间:3周 ~ 4周:

① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

渗透实战操作 时间:约6周:

① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
image.png
以上就是入门阶段

第三阶段:进阶

已经入门并且找到工作之后又该怎么进阶?详情看下图
image.png

给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!

如果你对网络安全入门感兴趣,那么你需要的话可以在下方扫码领取!!

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐