⑴ 怎样扫描别人的网站
壹:先找注入漏洞,在一些新闻或者文章后面加上;或者'来测试是不是返回错误,如果返回错误的时候再试空格and 1=1 和and 1=2再看返回错误是否不一样,不一样的说明存在了注入漏洞,开始用各种注入工具进行注入测试发现是ACCESS的数据库则直接暴用户名和密码来后台登陆,再找后台的漏洞看时候可以上传或写进ASP马。如果是SQL的数据库同样可以暴帐号密码,但发现SQL的权限为SA的就可以直接在对方服务器内增加ADMIN帐号SQL连接器连接即而开对方的3389端口开完全控制。
贰:找各种附带上传功能的程序,比如动力文章、蚂蚁影视、同学录等等,接下来要注册的进行注册不需要注册的可以把该上传功能保存为本地HTM文件来看是否本地限制格式,如果不是的话那就利用林子大哥做的欺骗上传的HTM或者用NC等工具来抓包进行修改然后再上传ASP马。有些程序则需要你把该程序的源代码下下来之后查看上传是否可行和上传的真确地址。
叁:利用%5c进行暴库如果是.mdb格式的则直接下载,利用数据库查看的工具进行查找帐号和密码,如果密码加密就用dv.exe进行破解只破解纯数字和纯字母!数字字母混合的实在太废时间了不推荐。如果对方数据库为.asp后缀的,那就更好办了在你能填写的信息里填写<%execute request("l")%>的代码来使数据库只执行这个代码就可以用蓝屏大叔的木马客户端来连接对方的数据库上传大的ASP马。
肆:寻找网站各种程序后台,程序越多越好,登陆时先用 'or''=' 帐号密码来测试是否有最老的ASP漏洞,如果都不行再测试默认的帐号密码,一般均为admin或者有的密码为admin888等等。
伍:寻找动网论坛,呵呵 现在大部分都网站都用此论坛程序。动网论坛被高手称为洞网因为其漏洞实在太多了1、上传漏洞,我就不想多说了就是利用upfile.asp 2、默认数据库漏洞,很多的弱智管理员都不改数据库名称的在data/dvbbs7.mdb就可以把数据库下载下来了,再加上dv_log表段看帐号密码使得动网论坛的数据库加密行同虚设。3、虚拟形象插件漏洞,里面同样存在上传漏洞利用方式和upfile.asp一样。4、下载中心插件漏洞,一样的上传漏洞利用方式。5、数据库备份默认地址漏洞,有些管理员改了数据库的地址,但是由于疏忽而没改备份后的数据库路径地址存在于databackup/dvbbs7.mdb下载下来后和上面第2条用法一样。(有许多的论坛都存在漏洞比如Discuz2.2F等等。。)
陆:各种留言本或日记存在默认数据库漏洞,因为是个小程序所以改的人也不是很多。只要下载该程序下来就可以知道数据库地址了。也有很多别的办法可以知道数据库地址,如:暴库、查看conn.asp的源文件、还有就是利用该程序管理员的疏忽 就是在地址后面打上(程序说明.txt、说明.txt、readme.txt等等)自然就会告诉你它的默认地址了^ ^找到了地址之后可以利用获得的管理员密码来破该站所在的别的管理员密码,很管用的呦 呵呵,还有就是asp结尾的数据库大家可以参照上面的叁用蓝屏大叔的木马来入侵。
柒:利用旁注来进行入侵,有时候大家都一个站一点办法都没有,那怎么办呢?呵呵 这个站没有漏洞并不说该站所在服务器别的站也不存在漏洞,那我们就可以利用查找该服务器玉米的工具来找别的站,然后找到别的站之后再来循环上面的壹~~陆。
⑵ 文件上传漏洞攻击方法有什么
文件上传漏洞是什么?怎样防御文件上传漏洞攻击?文件上传漏洞是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),
7221
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 文件上传,覆盖掉服务器上的文件,来定义文件类型和执行权限如果做到了这一点,将获得相当大的权限。
⑶ 别人的网站黑客是怎么入侵的呢
楼上的朋友麻烦你别去复制别人的东西 你不觉得可耻吗? 入侵网站是这几个步骤 分析 扫描 找漏洞 找口令或者爆破账号密码 上传木马 的到管理员权限 种植后门!
⑷ 利用IISPUT漏洞上传木马,获取webshell
利用IISPUT漏洞上传木马,获取webshell。
1.扫描目标端口发现80端口,开放IIS服务。
2.这里利用IISPUT漏洞的专用工具iiswrite来进行漏洞利用:
(1)选择options方法探测主机所支持的请求方法
发现支持put和move方法即可进一步进行漏洞利用。
(2)选用PUT方法上传muma.txt文件,里面内容为一句话木马。
上传成功后,选用move方法将test.txt文件改名为shell.asp文件,即可成功获取webshell。
使用菜刀链接webshell地址。
⑸ 内网渗透之ms17-010
在内网渗透时,通常挂上代理后。在内网首先会打啵ms17-010。在实战中,使用msf的ms17-010模块,数次没有反弹成功。基于此,到底如何成功利用ms17-010
在msf成功接收session之后,添加路由
然后使用ms17-010相关的模块进行探测是否存在该漏洞。
尝试利用
LHOST配置为公网IP
可以看到success。漏洞是可以利用的,但始终没有session。不知道什么原因。
参考资料: 利用公网Msf+MS17010跨网段攻击内网
笔者在本地搭建环境,也是同样的结果。尝试更改payload为
bind_tcp攻击者去连接,容易被防火墙和杀毒发现
可以成功生成session,但并不稳定,且在run的过程中非常容易导致本来的session died
在实际使用msf的ms17_010_eternalblue模块时,笔者观察到有几个弊端。
1.session 很容易died
2.ms17_010_eternalblue模块利用起来非常耗时
3.无法利用成功
有大佬推荐使用原始的fb.py。但配置起来感觉麻烦一些。
所以。笔者从i春秋上找到一个轻便的方程式漏洞利用工具。
参考资料: 萌新初试MS17-010方程式漏洞
工具使用起来很简单。只需要msfvenom生成一个x64或x86的dll文件,替换该工具下的x64.dll或x86.dll 。再依次点击Eternalblue、Doublepulsar 的Attack即可。在Attack的时候,调用x64.dll动态链接库,反弹到公网IP。原理和fb.py一样。
笔者通过ew代理进内网后,在跳板机上上传了方程式漏洞利用工具、网安永恒之蓝检测工具。两者结合,威力巨大。成功利用ms17-010
对于windows server 2008 ,msfvenom生成x64.dll文件
msf配置
将该x64.dll替换到方程式利用工具下面。
只需要更换目标的IP,就可以获取session。
对于windows server 2003 ,msfvenom生成x86.dll文件
msf配置
进一步利用的一些命令
实际测试发现这种session非常稳定。不会轻易go die
实际测试server 2003的ms17-010时,有时候多次执行后msf就接收不到session,而且ms17-010利用时,脆弱的server 2003非常容易蓝屏。
所以笔者选择一种稳定可靠一些的办法。
先通过ms17_010_commend模块执行系统命令添加用户至管理员。再指定SMBPass和SMBUser来建立windows可访问命名管道[accessible named pipe]
参考资料 Metasploit 「永恒之蓝」两种模块的利弊
system的权限可以直接激活guest用户添加管理员组。
注意:使用ms17_010_psexec需要指定管理员的用户名、密码,否则没有session
同样的操作,载入mimikatz,读取管理员密码。