php提权教程,黑客渗透测试该如何学习?
Web安全相关概念
熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。1.通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki;
2.阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);
3周
熟悉渗透相关工具
熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用。
1.了解该类工具的用途和使用场景,先用软件名字Google/SecWiki;
2.下载无后们版的这些软件进行安装;
3.学习并进行使用,具体教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;
4.待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;
5周
渗透实战操作
掌握渗透的整个阶段并能够独立渗透小型站点。
1.网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);
2.自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;
思考渗透主要分为几个阶段,每个阶段需要做那些工作,例如这个:PTES渗透测试执行标准;
4.研究SQL注入的种类、注入原理、手动注入技巧;
5.研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架;
6.研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki,可以参考:XSS;
7.研究Windows/Linux提权的方法和具体使用,可以参考:提权;
8.可以参考: 开源渗透测试脆弱系统;
1周
关注安全圈动态
关注安全圈的最新漏洞、安全事件与技术文章。通
1.过SecWiki浏览每日的安全技术文章/事件;
通过Weibo/twitter关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下;
2.通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累),没有订阅源的可以看一下SecWiki的聚合栏目;
4.养成习惯,每天主动提交安全技术文章链接到SecWiki进行积淀;
5.多关注下最新漏洞列表,推荐几个:exploit-db、CVE中文库、Wooyun等,遇到公开的漏洞都去实践下。
6.关注国内国际上的安全会议的议题或者录像,推荐SecWiki-Conference。
3周
熟悉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系统下的常用工具,可以参考SecWiki,《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;
4.熟悉metasploit工具,可以参考SecWiki、《Metasploit渗透测试指南》。
3周
服务器安全配置
学习服务器环境配置,并能通过思考发现配置存在的安全问题。
1.Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限,可以参考:SecWiki-配置;
2.Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等,可以参考:SecWiki-配置;
3.远程系统加固,限制用户名和口令登陆,通过iptables限制端口;
4.配置软件Waf加强系统安全,在服务器配置mod_security等系统,参见SecWiki-ModSecurity;
5.通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。
4周
脚本编程学习
选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习。
1.搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime,一些Sublime的技巧:SecWiki-Sublime;
2.Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完;
3.用Python编写漏洞的exp,然后写一个简单的网络爬虫,可参见SecWiki-爬虫、视频;
4.PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频;
5.熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选);
6.了解Bootstrap的布局或者CSS,可以参考:SecWiki-Bootstrap;
3周
源码审计与漏洞分析
能独立分析脚本源码程序并发现安全问题。
1.熟悉源码审计的动态和静态方法,并知道如何去分析程序,参见SecWiki-审计;
2从Wooyun上寻找开源程序的漏洞进行分析并试着自己分析;
3.了解Web漏洞的形成原因,然后通过关键字进行查找分析,参见SecWiki-代码审计、高级PHP应用程序漏洞审核技术;
4.研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。
5周
安全体系设计与开发
能建立自己的安全体系,并能提出一些安全建议或者系统架构。
1.开发一些实用的安全小工具并开源,体现个人实力;
2.建立自己的安全体系,对公司安全有自己的一些认识和见解;
3.提出或者加入大型安全系统的架构或者开发;
4.看自己发展咯~
什么是网络渗透技术?
网络渗透很像谍战电影中的特务通过各种伪装手段打入敌对组织内部并取得公开合法身份,借此采取非法或合法手段、通过秘密或公开途径窃取情报或是进行破坏活动。
网络渗透是针对目标所发动的网络行为,是一种有组织、有规划,并且是蓄谋已久的网络间谍行为。这种行为往往经过长期的经营与策划,并具备高度的隐蔽性、针对性,长期、有计划性和组织性地窃取数据或文件。网络渗透的过程又伴随着传统的人力情报分析。
网络渗透的本质是信息搜集信息搜集整理为后续的情报跟进提供了强大的保证。网络渗透并不是随便拿个工具倒腾一下就可以了,要了解具体业务并结合自己的经验。渗透的手法复杂且多样,并随着目标发生变化而改变行动计划。如:目标工作人员作息改变,地域时差等。
网络渗透一般分为高级持续性渗透和即时目标渗透。
持续性渗透是以时间换取空间为核心的渗透,以最小化被发现,长期把控权限为主,而即时目标渗透刚好相反,放大一致条件,关联已知线索,快速入侵,以达到诉求。
前期交互
渗透之前必做的功课是确定目标范围(IP、域名、内外网等),并全面的了解渗透目标有哪些程序、业务、人员管理、权限等,以此来确定渗透时间,能渗透到什么程度,能不能提权,能不能修改、上传。
信息收集
信息收集可以利用搜索引擎获得后台、未授权页面、敏感的url等,也可以主动扫描获取。收集信息包括:IP、网段、域名、端口(端口对应的应用及应用的版本)、操作系统版本、是否有防护设备、人员信息、服务信息等。
威胁建模
利用收集到的信息建模并规划攻击方式、方法和路径。
漏洞分析
利用建模信息使用相应的漏洞进行测试,包括系统漏洞、Webserver漏洞、Web应用漏洞、端口服务漏洞(如:21、3389)、通信安全漏洞(如:明文传输、token在cookie中)等。将所有有可能利用的漏洞都验证一遍,直至确定可用的漏洞。并制定明确的攻击路径、如何精准打击、如何绕过防御机制(如防火墙)、如何绕过检测机制(如流量监控、杀毒软件、恶意代码检测)、释放攻击代码等。
漏洞攻击
根据之前的成果进行攻击,获取内部信息(网络连接、VPN、路由、拓扑等),并进一步进行渗透(入侵内网、敏感目标),并进行持续性存在(留后门、添加管理员账号等),最后清理相关日志和上传的文件。
在渗透过程中,渗透目标信息搜集的广度决定了整个渗透过程的复杂程度,而目标信息搜集的深度,决定后渗透权限是否持续把控。持续渗透就是将线索关联,为后续的攻击提供了明确的方向。后渗透就是把控权限,而权限的把控为后渗透提供了以牺牲时间换取空间的基础。
网络渗透技术并非是灰暗的存在网络渗透技术是一把双刃剑,它锋利的一端是剑用来攻击,钝的一端是盾用来防护。网络渗透技术可以帮助政府、企业进行网络安全的规划和建设。尤其是石油、天然气、核能、证券、互联网金融等已经成为了网络渗透、攻击的重点目标。
以上个人浅见,欢迎批评指正。
认同我的看法,请点个赞再走,感谢!
喜欢我的,请关注我,再次感谢!
为什么要使用文件上传防护?
黑客利用文件上传漏洞通过上传.asp.jpg等畸形文件或.aspx、*.php等网马文件到服务器的upload相关目录下,利用网站服务器的一些特性执行代码,获取网站管理员用户、密码等一些网站重要信息,此举严重危害网站安全。
希望对你有所帮助!
以上就是关于php提权教程以及黑客渗透测试该如何学习的相关回答,有更多疑问可以加微。