php exp怎么用,黑客渗透测试该如何学习?
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.看自己发展咯~
直接让web服务运行在80端不行吗?
其实现在估计很少人会用80端口部署服务了,起码都是443端HTTPS服务了,因为HTTPS相对更安全。
但是这不影响这个问题的解答,下面我以个人的一些看法说明下。
一个服务器只有一个常用的端口我们都知道你只买了一台公网服务器,默认80端口是HTTP服务,443端口是HTTPS服务。
而现在很多时候,微信、网站搜索引擎,默认都是用这些端口进行正常处理,当你有多个服务要对外开放,你如果A服务已经占用了80端口,那么B服务就不可以再占用80端口。
而你采用Nginx服务直接占用80或者443端口,那么我们根据Nginx的规则配置,就可以设置如下规则:
访问url路径/api 走A服务,访问url路径/admin 走B服务。
Nginx高性能熟悉Nginx性能的程序员,都知道Nginx的性能之高,这里就不展开说。
因为有些编程语言框架,比如Flask,本身处理web请求就性能不高,通过Nginx可以提前处理web请求,而Flask就可以更多关注业务本身的逻辑。
Nginx负载均衡当你的web服务后台可以多实例部署,这时候你说的web服务直接运行80端口,那就不能支持多台实例。
而通过nginx,就可以指向两台甚至多台实例的后端服务,而且可以设置策略进行负载请求。
比如负载后端两个web服务,A机器性能配置强,那么我们就可以分配更多的请求到A机器。
B机器性能一般,那么我们就可以减少请求到这台机器。
Nginx安全性因为有了Nginx服务器在前面进行处理请求,用户根本不知道后端是用什么语言进行处理,减少后端暴露的几率。
不过由于使用Nginx的人很多,Nginx的漏洞也是备受关注,所以要及时关注Nginx的漏洞和最新稳定版本升级。
这里提供一个检测Nginx稳定版本的视频解说:https://www.ixigua.com/6832886164081345038/ ,有兴趣的可以看看。
Nginx资源消耗使用Nginx服务可以占用低的内存消耗,同时能支持高并发连接,何乐而不为。
如果觉得回答能解决到一些问题,可以关注@testerzhang,我会不定期发布一些相关技术文章和视频。
IBOS是什么?
博思协创发布的一款协同办公平台IBOS。IBOS融入了现代企业管理的思想精髓,在具备传统企业管理软件的功能模块基础上整合了社区、SNS网站的娱乐化元素,其可以运行在虚拟主机、VPS、云主机、独立服务器等任何支持PHP+MYSQL的服务器环境下,让企业使用OA门槛大大降低;将大大促进中国企业协同办公程度的提升。IBOS的特点如下:
免费下载,零风险实施
IBOS可随时下载、安装试用,可安装在个人电脑、虚拟主机、VPS、云主机、独立服务器等任何支持PHP+MYSQL的服务器环境。
实施成功后决定购买商业授权,零风险实施部署。
快速安装,部署便捷
IBOS 如同网站程序,上传到支持PHP+MYSQL的WEB环境,即可通过WEB界面快速完成安装配置。
IBOSEXP 能够根据用户计算机配置自动优化服务器环境!只需运行双击鼠标运行安装程序,一切就都已搞定!
数据安全,低成本高可用性
数据存储在企业PC、服务器或网站主机上,不同于SAAS模式。
正式版将对数据库进行定时备份和云存储两种措施,低成本打造高可用心数据备份机制。
简单易用,快速上手
社交网站风格,会上网就会使用
采用新技术减少繁杂的操作,优化用户体验。引入了HTML5特性,复杂操作可通过拖拽完成。
性能卓越,互联网模式开发
采用全球认可的最为先进的开放理念——OOP(面向对象)架构,使用PC服务器或虚拟主机即可实现数百人规模应用。
快速迭代的互联网模式开发协同管理平台,所有用户可参与开发改进产品,关注跟踪我们的研发进展,并针对我们研发的功能予以反馈。
随时随地,快乐工作
支持PC、MAC、IPAD 、IPHONE、ANDROID等设备随时随地使用,抓住时间碎片。
金币 升级 打怪 经验 贡献 勋章 同样魅力无限。换种思路,工作原来可以更快乐。
不法分子是如何侵入网站的?
黑客们入侵网站普遍的手法/流程
1、信息收集
Whois 信息--注册人、电话、邮箱、DNS、地址
Googlehack--敏感目录、敏感文件、更多信息收集
服务器 IP--Nmap 扫描、端口对应的服务、C 段
旁注--Bing 查询、脚本工具
如果遇到 CDN--Cloudflare(绕过)、从子域入手(mail,postfix)、DNS 传送域漏洞
服务器、组件(指纹)--操作系统、web server(apache,nginx,iis)、脚本语言
通过信息收集阶段,攻击者基本上已经能够获取到网站的绝大部分信息,当然信息收集作为网站入侵的第一步,决定着后续入侵的成功。
2、漏洞挖掘
探测 Web 应用指纹--Discuz、PHPwind、Dedecms、Ecshop...
XSS、CSRF、XSIO、SQLinjection、权限绕过、任意文件读取、文件包含...
上传漏洞--截断、修改、解析漏洞
有无验证码--进行暴力pj
经过漫长的一天,攻击者手里已经掌握了你网站的大量信息以及不大不小的漏洞若干,下一步他们便会开始利用这些漏洞获取网站权限。
3、漏洞利用
思考目的性--达到什么样的效果
隐藏,破坏性--根据探测到的应用指纹寻找对应的 EXP 攻击载荷或者自己编写
开始漏洞攻击,获取相应权限,根据场景不同变化思路拿到 webshell
4、权限提升
根据服务器类型选择不同的攻击载荷进行权限提升
无法进行权限提升,结合获取的资料开始密码猜解,回溯信息收集
5、植入后门
隐蔽性
定期查看并更新,保持周期性
6、日志清理
伪装性,隐蔽性,避免激警他们通常选择删除指定日志
根据时间段,find 相应日志文件
太多太多。。。
说了那么多,这些步骤不知道你看懂了多少?其实大部分的脚本小黑显然不用这些繁琐的步骤,他们只喜欢快感!通常他们会使用各种漏洞利用工具或者弱口令(admin,admin888)进行攻击,入侵无果就会选择睡觉、打飞机或者去做一些其他的事情。当然,这种“黑客”仅仅是出于“快感”而去想入侵你的网站,如果是别有它意的人,麻烦就来了。
黑客攻击用的最短代码是什么?
黑客能够利用一段很短的代码来实现攻击的可能性越来越小了。
0和1编造的现代智能社会,通过简单的几个字符就能实现攻击的概率越来越小了。经过这么多年的发展,这么弱的漏洞只要出现100个,很快就会以打补丁的形式灭掉99个,剩下的1个被黑客用来卖钱。
前提条件是没有留后门,这就好比你提前设置一个“空格”或者简单的字符如“#”来作为登录密码,然后自己再来秀一把肌肉,一秒pj。
当然提前做好的代码段,仅仅只是敲几个字符作为启动命令执行代码段,也不算。同理通过控制大量的“肉鸡”来进行类似DDOS这样的功能,也不算。
而应该是拼图游戏中缺失的那一块,恰巧你补上去了,形成了多米诺骨牌那样的连锁反应,最终在极短的时间内达到攻击、侵入的效果。
比如SQL注入SQL注入属于一种非常常见的网络攻击方式,它并不需要取得操作系统的权限,也不需要利用操作系统的Bug,而只是针对数据库漏洞或者程序员编写代码时疏忽,导致通过一些SQL的语句,就可以无账号登录查看数据,甚至篡改数据库。
通过搭建DVWA渗透测试平台来作为简单的攻击测试,在一个安全级别为Low的网站,仅需要输入一个数字“1”,然后“submit”,然后查看源代码就出出现意想不到的信息。
通过推理后输入“1' union select user,password from users#”后,再点击“submit”就可以获取到重量级的用户名和密码,再由md5进行解密就得到了明文密码。当然感兴趣的小伙伴们可以试着搭建DVWA测试一下。
比如系统漏洞攻击Ubuntu曾被曝出一个非常严重的漏洞,只需要切换系统语言+输入几行命令,无需系统密码就可以添加新的sudo用户、获取权限,事后还能删除不留痕迹。
在标准用户上打开终端,输入命令“ln -s /dev/zero .pam_environment ”在主目录上创建一个软链接,再在系统设置中打开“区域和语音”,尝试进行更改语言。这时这个对话框就会冻结,一个名为“accounts-daemon”的程序会消耗100%的CPU资源,这时再在终端上输入“rm .pam_environment”删除软链接。此时还需要通过“pidof accounts-daemon”来查找PID,通过kill命令来杀死这个PID。
设置一个计时器用来在注销后重置accounts-daemon,注销后等待几秒钟后,就会显示让你创建一个新用户账户的界面,这个新账户拥有root权限,当然可以运行sudo命令。
黑客攻击并不会局限于某一个系统,比如2020年谷歌安全团队曾指出有一个神秘组织至少部署了11个0day来攻击安卓、IOS和Windows用户。
这些神奇的短代码都具有共同的特性执行这些代码可能会造成软件或系统的缓存区溢出,这样就会导致程序或者系统出错,还可能会执行侵入者提供的代码。这时就会变成水不是受害者的,桶也不是受害者的,而属于攻击者。比如Windows 2000 SP4简体中文版中通过DIR命令就可以产生“目录溢出”。
执行这些代码也可能是写程序的人故意留下或者欠思考没有形成程序闭环,直到某一天突然被一个人偶然输入一个字符或者一段代码就显形了,也可能是被某些很多系统和程序的大神揪出来,也可能是被黑客通过编写的漏洞扫描工具扫出来。
在一团乱码的程序代码中不可避免地会产生漏洞,这也就是为什么每年都会爆出那么多的高危0day漏洞。但键盘敲几个字符或者鼠标点击下出现的漏洞几乎绝迹了,因为程序员这个职业也在不断进化,不再是程序发展早期的那些学艺不精小白了。
以上个人浅见,欢迎批评指正。
认同我的看法,请点个赞再走,感谢!喜欢我的,请关注我,再次感谢!