0

    新手小白该如何入门web安全渗透

    2023.04.19 | admin | 155次围观

    学习Web安全渗透如何入门?首先,我们要了解什么是web安全渗透,其包括的原理有哪些?以及学习的方法。

    下面我们就来说说什么是web安全渗透,其原理包括哪些?

    Web安全渗透:主要是对Web应用程序和相应的软硬件设备配置的安全性进行测试。通过模拟入侵者的手段可以在授权的情况下进行流量攻击、信息收集、文件提取等敏感行为,最终输出测试报告,从而准确修复这一系列漏洞

    主要作用于各个企业网站、业务系统、移动APP、WiFi热点、Docker容器,甚至现在流行的AI机器人都是对象之一。

    并且,通过web安全渗透可以更有效地发现传统漏洞、业务逻辑漏洞、系统本身漏洞和系统提升漏洞,帮助企业客户检测数万个系统漏洞和安全风险。通过发布专业的服务报告和可靠的维修方案,可以更好的防止企业客户处于萌芽状态,避免安全风险造成的巨大损失。

    其原理包括:

    SQL注入:Web应用程序对用户输入数据的合法性没有判断。前端传入后端的参数是攻击者可控的。修复建议:过滤字符、预编译语句。

    XSS漏洞(跨站脚本攻击):恶意用户将代码注入到网页中。可能会提权、私密网页内容、会话、得到cookie。修复建议:过滤输入的数据,对输出到页面的数据进行相应的编码转换。

    反射型XSS:一次性。攻击者可以通过电子邮件发给目标用户。

    存储型XSS:攻击脚本将永永久的放在服务器的数据库中,隐蔽性高。论坛,留言板和博客。

    DOM型XSS:基于DOM文档对象模型的一种漏洞。HTML节点。

    CSRF 跨站请求伪造。是一种对网站的恶意利用。以目标用户的名义执行非法操作。目标用户发送邮件、发消息,盗取目标用户的账号,甚至购买商品,泄露个人隐私。修护:验证请求的Referer值。HTTP请求中加一个随机的token。

    SSRF 服务器端请求伪造。攻击者构造请求,服务器端发起请求的安全漏洞。只允许访问HTTP和HTTPS的请求。限制不能访问内网的IP。

    暴力破解:服务器没有限制,暴力破解需要一个庞大的字典。

    主要工作内容的流程如下:

    1.对公司各类系统进行安全加固;

    2.对公司网站、业务系统进行安全评估测试(黑盒、白盒测试);

    3.查看网站或APP软件是否存在SQL注入,XSS跨站,CSRF等安全漏洞;

    4.对公司安全事件进行响应,清理后门,根据日志分析攻击途径;

    5.安全技术研究,包括安全防范技术,黑客技术等;

    6.跟踪最新漏洞信息,进行业务产品的安全检查。

    那么,要掌握这些内容该如何学习呢?

    第一阶段:了解Web安全相关概念并熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。

    1.通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki;

    2.阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;

    3.看一些web渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等)。

    第二阶段:熟悉渗透相关工具和AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用。

    1.了解该类工具的用途和使用场景,先用软件名字Google/SecWiki;

    2.下载无后门版的这些软件进行安装;

    3.学习并进行使用,具体教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;

    4.待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;

    第三阶段:渗透实战操作(掌握渗透的整个阶段并能够独立渗透小型站点)

    新手小白该如何入门web安全渗透

    1.网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);

    2.自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;

    3.研究SQL注入的种类、注入原理、手动注入技巧;

    4.研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等;

    5.研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki;

    6.研究Windows/Linux提权的方法和具体使用。

    第四阶段:熟悉Windows/Kali Linux、学习Windows/Kali Linux基本命令、常用工具

    1.熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等;

    2.熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;

    3.熟悉Kali Linux系统下的常用工具;

    4.熟悉metasploit工具。

    第五阶段:服务器安全配置(学习服务器环境配置,并能通过思考发现配置存在的安全问题)

    1.Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限;

    2.Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等;

    3.远程系统加固,限制用户名和口令登陆如何把已经做好的网页放在服务器是,通过iptables限制端口;

    4.配置软件Waf加强系统安全,在服务器配置mod_security等系统;

    5.通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。

    第六阶段:脚本编程学习(选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习)

    1. 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime,一些Sublime的技巧:SecWiki-Sublime;

    2. Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库;

    3. 用Python编写漏洞的exp,然后写一个简单的网络爬虫;

    4. PHP基本语法学习并书写一个简单的博客系统;

    5. 熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选);

    6. 了解Bootstrap的布局或者CSS。

    第七阶段:源码审计与漏洞分析(能独立分析脚本源码程序并发现安全问题)

    1.熟悉源码审计的动态和静态方法,并知道如何去分析程序;

    2.从Wooyun上寻找开源程序的漏洞进行分析并试着自己分析;

    3.了解Web漏洞的形成原因,然后通过关键字进行查找分析;

    4.研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。

    第八阶段:安全体系设计与开发(能建立自己的安全体系,并能提出一些安全建议或者系统架构)

    1.开发一些实用的安全小工具并开源如何把已经做好的网页放在服务器是,体现个人实力;

    2.建立自己的安全体系,对公司安全有自己的一些认识和见解;

    3.提出或者加入大型安全系统的架构或者开发。

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论