网站入侵的基本思路?
黑客入侵网站的思路其实跟我们的思路都是差不多的。首先从简单的入手,如果简单方式攻破了,自然不想花费太多时间去研究,黑客也是希望多花点时间挑战高难度的网站。
那么一般黑客先从哪里入手:
第一:网站后台,应该现在很多网站都是套用开源系统开放,所以网站后台地址很容易ping出来。大多都是admin、manage。所以,网站后台密码不要过于简单,很多管理员方便记住密码,大都是admin123。这样的网站,要把网站搞废,分分钟的事情。
第二:网站后台攻破不了的话,从数据库入手。由于服务器IP很容易PING出来,很多人数据地址都是采用物理数据库地址。那么就差数据库密码了。所以,如果网站数据库架设不严谨,考虑不周全,那么数据库同样也是简单的被攻破。
所以,做网站一定要找有经验的团队。
网站入侵中的上传漏洞是怎么回事?
不知道你说的是哪种上传漏洞,有的是程序本身的漏洞没有对上传文件类型进行严格过滤,还有的就是系统(IIS6.0)本身的漏洞,例如利用建立文件夹为wolf.asp或者扩展名形如wolf.asa;wolf.jpg这样的,不过这些都已经过时了,一般该补的都补了,
入侵网站有多少种方法?
目前常用的网站入侵方法有五种:上传漏洞、暴库、注入、旁注、COOKIE诈骗。
1、上传漏洞:利用上传漏洞可以直接得到Web shell,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。
2、暴库:暴库就是提交字符得到数据库文件,得到了数据库文件我们就直接有了站点的前台或者后台的权限。
3.注入漏洞:这个漏洞是现在应用最广泛,杀伤力也很大的漏洞,可以说微软的官方网站也存在着注入漏洞;注入漏洞是因为字符过滤不严谨所造成的,可以得到管理员的账号密码等相关资料。
4、旁注:找到和这个站同一服务器的站点,然后在利用这个站点进行提权,嗅探等方法来入侵我们要入侵的站点。
5、COOKIE诈骗:COOKIE是上网时由网站所为你发送的值记录了你的一些资料,比如说:IP、姓名等。
别人的网站黑客是怎么入侵的呢?
首先介绍下什么样的站点可以入侵:必须是动态的网站
比如
asp
php
jsp
这种形式的站点
后缀为.htm的站点劝大家还是不要入侵了吧(入侵几率几乎为0)
入侵介绍:
1。上传漏洞
2。暴库
3。注入
4。旁注
5。COOKIE诈骗
1:上传漏洞,这个漏洞在DVBBS6.0时代被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。
怎样利用:在网站的地址栏中网址后加上/upfile.asp如果显示
上传格式不正确[重新上传]
这样的字样8成就是有长传漏洞了找个可以上传的工具直接可以得到WEBSHELL
工具介绍:上传工具
老兵的上传工具
DOMAIN3.5
这两个软件都可以达到上传的目的
用NC也可以提交
WEBSHELL是什么:WEBSHELL在上节课简单的介绍了下,许多人都不理解,这里就详细讲下,其实WEBSHELL并不什么深奥的东西,是个WEB的权限,可以管理WEB,修改主内容等权限,但是并没有什么特别高的权限,(这个看管理员的设置了)一般修改别人主大多都需要这个权限,接触过WEB木马的朋友可能知道(比如老兵的站长助手就是WEB木马
海阳2006也是
WEB木马)我们上传漏洞最终传的就是这个东西,有时碰到权限设置不好的服务器可以通过WEBSHELL得到最高权限。
2。暴库:这个漏洞现在很少见了,但是还有许多站点有这个漏洞可以利用,暴库就是提交字符得到数据库文件,得到了数据库文件我们就直接有了站点的前台或者后台的权限了。
暴库方法:比如一个站的地址为
http://www.xxx.com/dispbbs.asp?boardID=7ID=161
我门就可以把com/dispbbs中间的/换成%5c
如果有漏洞直接得到数据库的绝对路径
用寻雷什么的下载下来就可以了
还有种方法就是利用默认的数据库路径
http://www.xxx.com/
后面加上
conn.asp
如果没有修改默认的数据库路径也可以得到数据库的路径(注意:这里的/也要换成%5c)
为什么换成%5c:因为在ASCII码里/等于%5c,有时碰到数据库名字为/#abc.mdb的为什么下不了?
这里需要把#号换成%23就可以下载了,为什么我暴出的数据库文件是以。ASP结尾的?我该怎么办?这里可以在下载时把。ASP换成。MDB
这样就可以下载了如果还下载不了可能作了防下载。
3。注入漏洞:这个漏洞是现在应用最广泛,杀伤力也很大的漏洞,可以说微软的官方网站也存在着注入漏洞。注入漏洞是因为字符过滤不严禁所造成的,可以得到管理员的帐号密码等相关资料。
怎样利用:我先介绍下怎样找漏洞比如这个网址
http://www.xxx.com/dispbbs.asp?boardID=7ID=161
后面是以ID=数字形式结尾的站我们可以手动在后面加上个
and
1=1
看看
如果显示正常面
再加上个and
1=2
来看看
如果返回正常面说明没有漏洞
如果返回错误面说明存在注入漏洞。如果加and
1=1
返回错误面说明也没有漏洞,知道了站点有没有漏洞我门就可以利用了
可以手工来猜解也可以用工具现在工具比较多(NBSI
NDSI
啊D
DOMAIN等)都可以用来猜解帐号密码,因为是菜鸟接触,我还是建议大家用工具,手工比较烦琐。
4。旁注:我们入侵某站时可能这个站坚固的无懈可击,我们可以找下和这个站同一服务器的站点,然后在利用这个站点用提权,嗅探等方法来入侵我们要入侵的站点。打个形象的比喻,
比如你和我一个楼
我家很安全,而你家呢
却漏洞百出
现在有个贼想入侵我家
他对我家做了监视(也就是扫描)发现没有什么可以利用的东西
那么这个贼发现你家和我家一个楼
你家很容易就进去了
他可以先进入你家
然后通过你家得到整个楼的钥匙(系统权限)
这样就自然得到我的钥匙了
就可以进入我的家(网站)
工具介绍:还是名小子的DOMIAN3.5不错的东西
,可以检测注入
可以旁注
还可以上传!
5.COOKIE诈骗:许多人不知道什么是COOKIE,COOKIE是你上网时由网站所为你发送的值记录了你的一些资料,比如IP,姓名什么的。
怎样诈骗呢?如果我们现在已经知道了XX站管理员的站号和MD5密码了
但是破解
不出来密码
(MD5是加密后的一个16位的密码)我们就可以用COOKIE诈骗来实现,把自己的ID修改成管理员的,MD5密码也修改成他的,有工具可以修改COOKIE
这样就答到了COOKIE诈骗的目的,系统以为你就是管理员了。
今天的介绍就到这里了
比较基础,都是概念性的东西,所有的都是我的个人理解,如有不正确的地方希望大家指出(个人认为就是
为什么换成%5c
这里有点问题)。
网站入侵的常用方法
目前常用的网站入侵方法有五种:上传漏洞、暴库、注入、旁注、COOKIE诈骗。
1、上传漏洞:利用上传漏洞可以直接得到Web shell,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。
2、暴库:暴库就是提交字符得到数据库文件,得到了数据库文件我们就直接有了站点的前台或者后台的权限。
3.注入漏洞:这个漏洞是现在应用最广泛,杀伤力也很大的漏洞,可以说微软的官方网站也存在着注入漏洞;注入漏洞是因为字符过滤不严谨所造成的,可以得到管理员的账号密码等相关资料。
4、旁注:找到和这个站同一服务器的站点,然后在利用这个站点进行提权,嗅探等方法来入侵我们要入侵的站点。
5、COOKIE诈骗:COOKIE是上网时由网站所为你发送的值记录了你的一些资料,比如说:IP、姓名等。
文件上传漏洞攻击方法有什么?
文件上传漏洞是什么?怎样防御文件上传漏洞攻击?文件上传漏洞是web安全中经常利用到的一种漏洞形式。这种类型的攻击从大的类型上来说,是攻击 数据与代码分离原则 的一种攻击。
一些web应用程序中允许上传图片,文本或者其他资源到指定的位置,文件上传漏洞就是利用这些可以上传的地方将恶意代码植入到服务器中,再通过url去访问以执行代码
造成文件上传漏洞的原因是
对于上传文件的后缀名(扩展名)没有做较为严格的限制
对于上传文件的MIMETYPE 没有做检查
权限上没有对于上传的文件的文件权限,(尤其是对于shebang类型的文件)
对于web server对于上传文件或者指定目录的行为没有做限制
下面就闲话一些文件上传漏洞的防御方式和攻击者的绕过方式
1.前端限制
function check(){
var filename=document.getElementById("file");
var str=filename.value.split(".");
var ext=str[str.length-1];
if(ext=='jpg'||ext=='png'||ext=='jpeg'||ext=='gif'){
return true;
}else{
alert("这不是图片!")
return false;
}
return false;
}
在表单中使用onsumbit=check()调用js函数来检查上传文件的扩展名。这种限制实际上没有任何用处,任何攻击者都可以轻而易举的破解。只能用于对于用户完全信任的情况下,很难称之为一种安全措施只能称之是一种防止用户误操作上传的措施,
反制:
随便的编辑一下页面/用burpsuite/写个小脚本就可以突破之,无须多言
2.检查扩展名
顾名思义,就是在文件被上传到服务端的时候,对于文件名的扩展名进行检查,如果不合法,则拒绝这次上传
在这里,还有一点是值得一提的,在检查扩展名是否合法的时候,有两种策略
黑名单策略,文件扩展名在黑名单中的为不合法,示例代码
$postfix = end(explode('.','$_POST['filename']);
if($postfix=='php'||$postfix=='asp'||$postfix=='sh'){
echo "invalid file type";
return;
}
白名单策略,文件扩展名不在白名单中的均为不合法
$postfix = end(explode('.','$_POST['filename']);
if($postfix=='jpg'||$postfix=='png'||$postfix=='gif'){
//save the file and do something next
} else {
echo "invalid file type";
return;
}
白名单策略是更加安全的,通过限制上传类型为只有我们接受的类型,可以较好的保证安全,因为黑名单我们可以使用各种方法来进行注入和突破
反制
在一些 webserver 中,存在解析漏洞
1.老版本的IIS中的目录解析漏洞,如果网站目录中有一个 /.asp/目录,那么此目录下面的一切内容都会被当作asp脚本来解析
2.老板本的IIS中的分号漏洞:IIS在解析文件名的时候可能将分号后面的内容丢弃,那么我们可以在上传的时候给后面加入分号内容来避免黑名单过滤,如 a.asp;jpg
3.旧版Windows Server中存在空格和dot漏洞类似于 a.php. 和 a.php[空格] 这样的文件名存储后会被windows去掉点和空格,从而使得加上这两个东西可以突破过滤,成功上传,并且被当作php代码来执行
4.nginx空字节漏洞 xxx.jpg%00.php 这样的文件名会被解析为php代码运行
5.apache的解析漏洞,上传如a.php.rar a.php.gif 类型的文件名,可以避免对于php文件的过滤机制,但是由于apache在解析文件名的时候是从右向左读,如果遇到不能识别的扩展名则跳过,rar等扩展名是apache不能识别的,因此就会直接将类型识别为php,从而达到了注入php代码的目的
3.检查HTTP Header中的Content-Type
HTTP协议规定了上传资源的时候在Header中加上一项文件的MIMETYPE,来识别文件类型,这个动作是由浏览器完成的,服务端可以检查此类型不过这仍然是不安全的,因为HTTP header可以被发出者或者中间人任意的修改,不过加上一层防护也是可以有一定效果的
反制
使用各种各样的工具(如burpsuite)强行篡改Header就可以,太容易将header中的
Content-Type: application/php
或者其他类型
改为
Content-Type: image/jpg
Content-Type: image/png
Content-Type: text/plain
等这些web程序允许的泪洗改附上常用的MIMETYPE表
text/plain(纯文本)
text/html(HTML文档)
text/javascript(js代码)
application/xhtml+xml(XHTML文档)
image/gif(GIF图像)
image/jpeg(JPEG图像)
image/png(PNG图像)
video/mpeg(MPEG动画)
application/octet-stream(二进制数据)
application/pdf(PDF文档)
application/(编程语言) 该种语言的代码
application/msword(Microsoft Word文件)
message/rfc822(RFC 822形式)
multipart/alternative(HTML邮件的HTML形式和纯文本形式,相同内容使用不同形式表示)
application/x-www-form-urlencoded(POST方法提交的表单)
multipart/form-data(POST提交时伴随文件上传的表单)
4.分析文件头内容来检查文件类型
与方法2不同,还有一种检查类型的方式是使用对于文件内容的验证机制,这种方法利用的是每一个特定类型的文件都会有不太一样的开头或者标志位。可以通过比如php的exif_imagetype()函数,一个通过这种方法来过滤的示例代码如下:
if (! exif_imagetype($_FILES['uploadedfile']['tmp_name'])) {
echo "File is not an image";
return;
}
也可以自己编写函数来进行识别,图片文件通常有称作幻数的头字节,我们来看一下几种图片文件的幻数:
(注意!下面是二进制而不是文本格式的数据)
JPG
FF D8 FF E0 00 10 4A 46 49 46
GIF
47 49 46 38 39 61
(相当于文本的GIF89a)
PNG
89 50 4E 47
通过检查头几位字节,可以分辨是否是图片文件
如果是其他类型的二进制文件,也有响应的头字节,如下表
反制
给上传脚本加上相应的幻数头字节就可以,php引擎会将
(一般不限制图片文件格式的时候使用GIF的头比较方便,因为全都是文本可打印字符。)
GIF89a
do_something();
?
如果是其他类型的二进制文件,也有响应的头字节,如下表
格式
文件头
TIFF (tif)
49492A00
Windows Bitmap (bmp)
424D
CAD (dwg)
41433130
Adobe Photoshop (psd)
38425053
Rich Text Format (rtf)
7B5C727466
MS Word/Excel (xls.or.doc)
D0CF11E0
MS Access (mdb)
5374616E64617264204A
ZIP Archive (zip),
504B0304
RAR Archive (rar),
52617221
Wave (wav),
57415645
AVI (avi),
41564920
Real Media (rm),
2E524D46
MPEG (mpg),
000001BA
MPEG (mpg),
000001B3
Quicktime (mov),
6D6F6F76
Adobe Acrobat (pdf),
255044462D312E
Windows Media (asf),
3026B2758E66CF11
MIDI (mid),
4D546864
5.限制Web Server对于特定类型文件的行为
导致文件上传漏洞的根本原因在于服务把用户上传的本应是数据的内容当作了代码,一般来说,用户上传的内容都会被存储到特定的一个文件夹下,比如我们很多人习惯于放在 ./upload/ 下面要防止数据被当作代码执行,我们可以限制web server对于特定文件夹的行为。
大多数服务端软件都可以支持用户对于特定类型文件的行为的自定义,以Apache为例:
在默认情况下,对与 .php文件Apache会当作代码来执行,对于 html,css,js文件,则会直接由HTTP Response交给客户端程序对于一些资源文件,比如txt,doc,rar等等,则也会以文件下载的方式传送的客户端。我们希望用户上传的东西仅仅当作资源和数据而不能当作代码
因此可以使用服务器程序的接口来进行限制
以Apache为例,我们可以利用 .htaccess 文件机制来对web server行为进行限制
在这里插一句,如果不是专门的文件下载目录,请务必关掉文件夹浏览的权限,以防止嗅探和可能的越权,也是使用.htaccess文件,在其中加上一句
Options All -Indexes
即可。
禁止脚本执行有多种方式可以实现,而且分别有不同的效果,我们分别来看一下
1.指定特定扩展名的文件的处理方式,原理是指定Response的Content-Type可以加上如下几行
AddType text/plain .pl .py .php
这种情况下,以上几种脚本文件会被当作纯文本来显示出来,你也可以换成其他的Content-Type
2.如果要完全禁止特定扩展名的文件被访问,用下面的几行
Options -ExecCGI
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi识别
在这种情况下,以上几种类型的文件被访问的时候,会返回403 Forbidden的错误
3.也可以强制web服务器对于特定文件类型的处理,与第一条不同的是, 下面的方法直接强行让apache将文件识别为你指定的类型,而第一种是让浏览器
ForceType text/plain
看代码就可以很明白的知道,符合上面正则的全部被认为是纯文本,也可以继续往里面加入其他类型。
4.只允许访问特定类型的文件
order deny,allow
deny from all
在一个上传图片的文件夹下面,就可以加上这段代码,使得该文件夹里面只有图片扩展名的文件才可以被访问,其他类型都是拒绝访问。
这又是一个白名单的处理方案
永远记得,白名单是最有保障的安全措施
可以通过 move_uploaded_file 函数把自己写的.htaccess 文件上传,覆盖掉服务器上的文件,来定义文件类型和执行权限如果做到了这一点,将获得相当大的权限。
能否利用网站上传漏洞直接上传JSP木马,拿到一定权限,用DOS命令建立账号从而入侵服务器?
1.必须看目标站是用什么语言编写的,asp,asp.net,php,jsp,cgi等等
2.如果目标是asp,你直接传【假如可以直接传】也没用的,服务器不支持是没办法的
3.服务器必须安装了java,支持jsp才可以的
如何入侵指定网站!
入侵指定网站是需要条件的: 要先观察这个网站是动态还是静态的。 如果是静态的(.htm或html),一般是不会成功的。 如果要入侵的目标网站是动态的,就可以利用动态网站的漏洞进行入侵。 Quote:以下是入侵网站常用方法: 1.上传漏洞如果看到:选择你要上传的文件 [重新上传]或者出现“请登陆后使用”,80%就有漏洞了! 有时上传不一定会成功,这是因为Cookies不一样.我们就要用WSockExpert取得Cookies.再用DOMAIN上传. 2.注入漏洞字符过滤不严造成的 3.暴库:把二级目录中间的/换成%5c 4.’or’=’or’这是一个可以连接SQL的语名句.可以直接进入后台。我收集了一下。类似的还有: ’or’’=’ " or "a"="a ’) or (’a’=’a ") or ("a"="a or 1=1-- ’ or ’a’=’a 5.社会工程学。这个我们都知道吧。就是猜解。