“护网去了坐着就行,一天给1000”
“护网有免费美味的盒饭!”
“不仅一天有1000,还包住!”
“连路费都可以报销”
你有没有在从事网络安全行业的人口中听到这些内容?怎么样?是不是很诱人?是不是觉得还有这种天上掉馅饼的好事?自己也蠢蠢欲动了?
冷静!在冲动之前我们要知道护网行动是什么!
护网是国家组织事业单位、国企单位、名企单位等展开的网络安全攻防演习,分为红蓝双方,红方负责攻击、蓝方负责防守。要求红方在规定时间之内不限制任何手段对蓝方展开攻击。注意,这里是不限制任何手段,就算你能偷偷溜到蓝方后院去拔他网线,只要能留下标记就算成功。
通过行动,机关事业单位互联网、系统和机器设备等安全性水平会进一步提高。在未来,护网行动将会进一步扩大,同样网络安全人才的缺口会进一步扩大。
随着《网络安全法》和《等级保护制度条例2.0》的颁布,国内企业的网络安全建设需与时俱进,要更加注重业务场景的安全性并合理部署网络安全硬件产品,严防死守“网络安全”底线。“HW行动”大幕开启,国联易安誓为政府、企事业单位网络安全护航!
云计算、移动互联网、大数据、物联网等新技术的持续演进,网络安全形势变得尤为复杂严峻。网络攻击“道高一尺,魔高一丈”,网络安全问题层出不穷,给政府、企事业单位带来风险威胁级别升高,挑战前所未有。
当然,护网行动也不是谁都能去的,还是需要通过技术面试的。否则连最基本的攻击和防御都做不到,真的会有人愿意出这1000元/天的薪资吗?
如果你是刚刚进入网络安全行业,相关的工作经验还比较少的。我们给你准备了一些护网面试题,可以帮助你提高面试通过率。
**一、**SQL注入如何防御?
SQL注入详解:sql注入详解_山山而川'的博客-CSDN博客
****SQL注入(SQL Injection)****是一种常见的Web安全漏洞,主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。从而导致数据库受损(被脱库、被删除、甚至整个服务器权限陷)。
即:注入产生的原因是后台服务器接收相关参数未经过滤直接带入数据库查询。
危害:
- 数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。
- 网页篡改:通过操作数据库对特定网页进行篡改。
- 网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。
- 数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。
- 服务器被远程控制,被安装后门:经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。
- 破坏硬盘数据,瘫痪全系统。
解决SQL注入问题的关键是对所有可能来自用户输入的数据进行严格的检查、对数据库配置使用最小权限原则。通常修复使用的方案有:
代码层面:
网络层面:
常见的注入手法:
参数类型分类:
1. 数字型:当输入的参数为整形时,如果存在注入漏洞,可以认为是数字型注入。
如 www.text.com/text.php?id… 对应的sql语句为 select * from table where id=3
2. 字符型:字符型注入正好相反
当输入的参数被当做字符串时,称为字符型。字符型和数字型最大的一个区别在于,数字型不需要单引号来闭合,而字符串一般需要通过引号来闭合的。即看参数是否被引号包裹。
例如数字型语句:select * from table where id =3
则字符型如下:select * from table where name=’admin’
注入手法分类:
@ UNION query SQL injection(联合查询注入)
@ Error-based SQL injection(错型注入)
@ Boolean-based blind SQL injection(基于布尔的盲注)
@ Time-based blind SQL injection(基于时间的盲注)
@ Stacked queries SQL injection(可多语句查询注入)
要点:
①报错注入函数: group by 重复键冲、extractvalue() 函数、updatexml() 函数
②布尔盲注,即在页面没有错误回显时完成的注入攻击。此时我们输入的语句让页面呈现出两种状态,相当于true和false,根据这两种状态可以判断我们输入的语句是否查询成功。
③延时注入,通过观察页面,既没有回显数据库内容,又没有报错信息也没有布尔类型状态,那么我们可以考虑用“绝招”--延时注入。延时注入就是将页面的时间线作为判断依据,一点一点注入出数据库的信息。
④HTTP头注入:user-agent, cookie, referer, X-Forwarder-For
⑤宽字节注入:提交的单引号会被转义['],注入点后面加%df
⑥堆叠注入:结束一个sql语句后继续构造下一条语句,可以执行的是任意的语句
⑦二阶注入:二次注入就是由于将数据存储进数据库中时未做好过滤,先提交构造好的特殊字符请求存储进数据库,然后提交第二次请求时与第一次提交进数据库中的字符发生了作用,形成了一条新的sql语句导致被执行。
二、XSS、CSRF、SSRF、XXE漏洞原理与区别
CSRF、XSS 及 XXE 有什么区别,以及修复方式?
答:XSS 是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。
修复方式:对字符实体进行转义、使用HTTP Only来禁 JavaScript 读取 Cookie 值、输入时校验、浏览器与 Web 应用端采用相同的字符编码。
CSRF 是跨站请求伪造攻击,XSS是实现 CSRF 的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。
修复方式:筛选出需要防范 CSRF 的页面然后嵌入 Token、再次输入密码、检验 Referer。
XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML 解析库在调用时严格禁止对外部实体的解析。
6、3389 无法连接的几种情况
答:没开放 3389 端口;端口被修改;防护拦截;处于内网(需进行端口转发)
****XSS:****Cross Site Scripting 简称 XSS(跨站脚本攻击)。
XSS攻击最终目的是在网页中嵌入客户端恶意脚本代码
不需要你做任何的登录认证,它会通过合法的操作(比如在url中输入、在评论框中输入),向你的页面注入脚本(可能是js、hmtl代码块等)。
类型:反射型XSS、存储型XSS、DOM型XSSS;
防范:XSS的防范措施主要有三个:编码、过滤、校正
设置xss filter 定制过滤策略 输出编码 黑名单白名单 设置http only
****CSRF:****Cross Site Request Forgery 简称CSRF (跨站站点请求伪造)。
攻击者会伪造一个请求(这个请求一般是一个链接URL),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。所以CSRF攻击也成为"one click"攻击。攻击者盗用了你的身份,以你的名义发送恶意请求。
常见攻击手段发送csrf的连接,通过伪造请求从而受害者点击后会利用受害者的身份发起这个请求。例如新增一个账号,修改用户密码等等。
CSRF攻击的防范措施:
1.将cookie设置为HttpOnly
2.验证 HTTP Referer 字段;(Referer:在 HTTP 头中的一个字段,它记录了该 HTTP 请求的来源地址。)
3.在请求地址中添加 token 并验证;(Token:服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。)
4.在 HTTP 头中自定义属性并验证。
_XSS和CSRF的区别:_
XSS不需要登录,CSRF需要用户登录信息
XSS攻击客户端,CSRF访问服务端
XSS劫持用户信息,CSRF伪造用户身份访问正常网站
****SSRF:****是一种由攻击者构造请求,由服务端发起请求的安全漏洞。(服务器端请求伪造)
是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人或者跳板)
一般情况下,SSRF攻击的目标是外网无法访问的内部系统(因为请求是由服务器端发送的,所以服务端能请求到与自身相连而与外网隔离的内部系统)。
SSRF漏洞攻击原理以及方式:
利用一个可以发起网络请求的服务端当作跳板来攻击内部其他服务。
SSRF的形成大多是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤和限制。
SSRF利用存在缺陷的Web应用作为代理攻击远程和本地的服务器。
主要攻击方式:
对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;
攻击运行在内网或本地的应用程序需;对内网Web应用进行指纹识别,识别企业内部的资产信息;
攻击内外网的Web应用,主要是使用HTTP GET请求就可以实现的攻击(struts2、SQli等);
利用file协议读取本地文件等。
SSRF漏洞攻击的防范措施:
1.限制请求的端口只能为Web端口,只允许访问HTTP和HTTPS请求;
2.限制不能访问内网IP,防止对内网进行攻击;
3.屏蔽或者过滤返回的详细信息;
_CSRF和SSRF的区别**_**
CSRF 是跨站请求伪造攻击,由客户端发起;
SSRF 是服务器端请求伪造,由服务器发起;
重放攻击是将截获的数据包进行重放,达到身份认证等目的。
XEE(XML外部实体注入):在应用程序解读XML输入时,当允许引入外部实体时,可构造恶意内容,导致读取恶意文件,探测内网端口,攻击内网网站,发起DOS拒绝服务攻击,执行系统命令等。
_XSS、SSRF、CSRF、XXE 漏洞的各自原理**_**
****XSS:****程序对输入和输出的控制不够严格,导致"精心构造“的脚本输入后,在输到前端时被浏览器当作有效代码解析执行从而产生危害.
****CSRF:****程序员开发的时候,未对相关页面进行token和referer判断,
****SSRF:****大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定 URL 地址获取网页文本内容,加载指定地址的图片,文档,等等。
****XXE:****运 维 人 员 使 用 低 版 本 PHP , libxml 低 于 2.9.1 , 就 会 造 成 程 序 员 或 者 XXE 设 置 了 libxml_disable_encity_loader(FALSE) 这个意思是禁用加载外部实体。
XSS、CSRF、SSRF的区别
相同点:
XSS,CSRF,SSRF三种常见的Web服务端漏洞均是由于,服务器端对用户提供的可控数据过于信任或者过滤不严导致的。
不同点:
XSS:是服务器对用户输入的数据没有进行足够的过滤,导致客户端浏览器在渲染服务器返回的html页面时,出现了预期值之外的脚本语句被执行。
CSRF:是服务器端没有对用户提交的数据进行随机值校验,且对http请求包内的refer字段校验不严,导致攻击者可以利用用户的Cookie信息伪造用户请求发送至服务器。
SSRF:是服务器对用户提供的可控URL过于信任,没有对攻击者提供的RUL进行地址限制和足够的检测,导致攻击者可以以此为跳板攻击内网或其他服务器。
XSS、CSRF的区别
CSRF是跨站请求伪造; XSS是跨域脚本攻击。
CSRF需要用户先登录网站A,获取cookie; XSS不需要登录。
CSRF是利用网站A本身的漏洞,去请求网站A的api; XSS是向网站A注入JS代码,然后执行JS里的代码,篡改网站A的内容。(XSS利用的是站点内的信任用户,而CSRF则是通过伪装来自受信任用户的请求来利用受信任的网站。你可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义向第三方网站发送恶意请求。)
由于面试会涉及到的知识点比较多,所以这里就不做过多赘述,我们已经整理好文档,欢迎自取~
还有一些没有接触过网络安全行业的小伙伴们也不要着急,毕竟护网还有一段时间,如果把这中间的时间利用起来多学习,参加护网行动也是没啥大问题的。
利用这段空闲的时间来安鸾学习网络安全,不仅有大量参加护网的机会,还能通过护网赚取进入网络安全行业的第一桶金。国家级的实战经验,不仅是非常好的锻炼机会,也是简历上浓墨重彩的一笔,对今后的工作大有裨益。
可能你在参加过护网的小伙伴口中听到的都有差异。其实是因为所在的红蓝双方职责不同。
蓝方防守,每天都要盯着防火墙日志,公司比较重视的话也可能参加代码审计,提前红方发现漏洞,以及对自己的网络进行灰盒测试,发现漏洞及时修补。
红方任务量比较大,但也是根据蓝方的实力强弱来的。如果蓝方较强,也只能写写渗透测试报告了。但如果红方很厉害,那么在内网中进行横向移动有时会有不小的收获。
还有一个老生长谈的话题,到底是攻击队厉害还是防守队更厉害?这个问题其实一直以来都没有得到一个确切的结论。有时候你会觉得攻击队更厉害,因为攻击可以在非特定时间随意发起,出其不意攻其不备,甚至手持0day指哪打哪,毕竟木桶原理决定着攻破一处即可内部突袭;有时候你有会觉得防守方更厉害,因为防守方拥有全部访问流量,随时洞察攻击者的探测并封堵IP,也可以在主机层监控攻击者的一举一动,甚至部署蜜罐玩弄于股掌之间。
其实攻防就是道高一尺魔高一丈,在攻与防的对立统一中寻求突破。
所以,红蓝双方都有大佬,如果运气好,刚好遇到了大佬,能够认识牛人并且和牛人一起工作部署,一定可以收获不少工作经验、项目经验。
学习网络安全技术的方法无非三种:
第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。
第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
第三种就是去找培训。
接下来,我会教你零基础入门快速入门上手网络安全。
网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。
第一阶段:基础准备 4周~6周
这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
第二阶段:web渗透
学习基础 时间:1周 ~ 2周:
① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
配置渗透环境 时间: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关键词:提权
以上就是入门阶段