用户
搜索
  • TA的每日心情
    慵懒
    2019-3-13 09:11
  • 签到天数: 118 天

    连续签到: 1 天

    [LV.6]常住居民II

    i春秋作家

    Rank: 7Rank: 7Rank: 7

    12

    主题

    221

    帖子

    1316

    魔法币
    收听
    0
    粉丝
    3
    注册时间
    2015-11-20

    i春秋签约作者

    发表于 2018-11-8 22:41:59 17819248
    本帖最后由 小猪 于 2018-11-19 11:25 编辑

    0x00 看我是如何利用骚姿势偷偷的在后台一顿乱爬

    程序下载地址:https://pan.baidu.com/s/1KFWo0mUHmV-QWwZJjiV46Q
    版本:V5.1.18030300
    简介:看我怎么利用嘿嘿嘿技术在里面乱走

    0x01 程序安装到复现

    1.第一步安装系统

    2.第二步安装结束选择前台

    3.第四步到注册页面

    4.然后我们去产品页

    5.购买一个产品

    6.这时候要输入收货地址,我们填入一个xss地址


    游客,如果您要查看本帖隐藏内容请回复

    游客,如果您要查看本帖隐藏内容请回复

    5.那么在后台我们就可以看到这个订单

    6.然后我们点击订单详情,F12查看下

    7.最后我们去管理员那边查看下,是否添加管理员

    这样就完美的去弄了一个管理员账户,token对我来说都没有用。

    0x02 代码审计

    漏洞所在文件:\espcms_web\Order.php(生成订单)

    漏洞文件代码:(只贴上相关代码)

    第187行,global $espcms_web_templates, $espcms_command;,global代表全局变量获取,也可以说设置。

    第188行,$member_app_config = ESPCMS_Core::get_app_config('member', false);,这里一看大概意思是获取配置。我们追下这个函数。

    路径:\espcms_public\ESPCMS_Core.php

    第128行,global $espcms_db_cache;,,global代表全局变量获取,也可以说设置。

    第129行,if (!$app_code),判断外部传入的是否为空。

    第132行,$db_table = ESPCMS_DB_PREFIX . 'apply';,定义数据库表名。

    第133行,$db_where = " WHERE applycode = '$app_code'";,定义查询条件语句。

    第134行,$talbe_field_array = espcms_field_out($db_table);,大致意思是查询这个表是否存在。

    第135行,$cache_key = ESPCMS_CACHE_DBREAD_NAME . $db_table . '_' . $app_code;,这里定义一个key值到缓存查看。

    第136行,$read = $espcms_db_cache->cacheCheck($cache_key, false);,查看数据缓存是否存在。

    第137行,if (!$read),判断是否存在。

    第138行,$read = espcms_db_read($db_table, $db_where, $talbe_field_array);,读取数据。

    第139行,$espcms_db_cache->cacheSave($cache_key, $read);,修改数据。

    第141行,if ($isunser),判断外部传入是否是false

    第142行,$read['appconfig'] = unserialize($read['appconfig']);,反序列化配置。

    第144行,return !$return_key ? $read : $read[$return_key];,返回结果。

    我们回到第一张图片。

    第189行,if (!is_token($_POST['tokenname'], $_POST['tokenkey'])),判断token是否正确。

    第190行,ESPCMS_Dialog::Message_Page('repeat_inut', OrderLink::get_order_link('list'));,这里代表提示层并跳转到指定页面。

    第192行,if ($member_app_config['isetup'] && $member_app_config['isopen']),判断config中的isetup值是否存在并且判断isopen值是否存在。

    第193行,if (static::$order_con['ORDER_ISMEMBER']),判断是否有订单功能。

    第194行,ESPCMS_MemberAuthority::authorityWebVerify(false, $member_app_config['appconfig'], OrderLink::get_order_link('list'));代表WEB授权。

    第196行,$member_cookie_info = ESPCMS_MemberAuthority::getMemberInfo();,获取用户身份信息。

    第197行,$member_read = ESPCMS_MemberDB::get_member_view($member_cookie_info['userid']);,获取用户个人详细信息。

    第199-218行,这里都是接收POST参数。

    第219行,if (!espcms_ismoney($_POST['productmoney']) || !espcms_isemail($_POST['email'])),判断productmoney是的是浮点数或者正数,或者判断email是否是邮件格式。

    第220行,ESPCMS_Dialog::Message_Page('input_err', OrderLink::get_order_link('list'));,这里代表提示层并跳转到指定页面。

    第222行,unset($_POST['opid'], $_POST['paytime'], $_POST['updatetime'], $_POST['shippingtime'], $_POST['shippingsn'], $_POST['paysn'], $_POST['country'], $_POST['treatnote']);unset代表删除变量。

    第223行,$shippingmoney = ESPCMS_OrderDB::get_express_view($_POST['osid'], 'price');,获取订单金额。

    第224行,$_POST['shippingmoney'] = $shippingmoney && espcms_ismoney($shippingmoney) ? $shippingmoney : 0;,判断是否存在,并且判断是否是浮点数或者正数。

    第226行,$coupon_app_config = ESPCMS_Core::get_app_config('coupon', false);,获取配置信息。

    第227行,if (static::$order_con['ORDER_ISMEMBER'] && $member_app_config['isetup'] && $member_app_config['isopen'] && $coupon_app_config['isetup'] && $coupon_app_config['isopen'] && $_POST['ocdsn']),判断订单并且判断config中的isetup值是否存在并且判断isopen值是否存在。

    第228行,$discount = ESPCMS_CouponDB::CheckCoupon($_POST['userid'], $_POST['products_id'], $_POST['products_tid'], $_POST['ocdsn'], $_POST['productmoney']),这里去查询折扣卷。

    第229行,$_POST['discount'] = espcms_ismoney($discount) ? $discount : 0;,判断是不是浮点数或者正数。

    第230行,$coupon_isuser = $discount > 0 ? true : false;,判断折扣段是否大于0,如果大于0那么就返回true,否在返回false。

    第235行,$orderamount = $_POST['shippingmoney'] + $_POST['productmoney'];,两个值相加得到得到订单金额。

    第236行,$_POST['invoicefeemoney'] = $_POST['isinvoice'] && static::$order_con['ORDER_INVOICE_FEE'] && espcms_ismatches(static::$order_con['ORDER_INVOICE_FEE']) ? (static::$order_con['ORDER_INVOICE_FEE'] / 100) * $orderamount : 0;,这里代表发票费用。

    第237-241行,这里都是接收POST参数。

    第242行,$db_table = ESPCMS_DB_PREFIX . "order";,定义表名。

    第243行,$talbe_field_array = espcms_field_out($db_table, true);,判断当前表是否存在。

    第244行,$postvalue = espcms_post($_POST, $talbe_field_array, true);,这里第一个参数接收外部POST,第二个参数是243行返回出来的字段。

    第245行,if (!$postvalue || !is_array($postvalue)),判断244行是否存在,并且判断是否是数组。

    第246行,ESPCMS_Dialog::Message_Page('dba_read_err', OrderLink::get_order_link('list'));,这里代表提示层并跳转到指定页面。

    第248行,$install_id = espcms_db_install_save($db_table, $postvalue);,这里就是插入数据库。

    第249行,if (!$install_id),如果创建失败则跳转到提示层并且跳转到指定页面。

    第253行,ESPCMS_CouponDB::update_coupon_list_isuser($install_id, $_POST['userid'], false, $_POST['ocdsn']);,这里代表修改折扣卷。

    那么身下基本就是支付流程了,也没有什么好分析的了。


    评分

    参与人数 1魔法币 +5 收起 理由
    zzconfig + 5

    查看全部评分

    好想给你一堆六,但是似乎ichuqiu杜绝这种方式,所以水水的回复一下好想给你一堆六,但是似乎ichuqiu杜绝这种方式,所以水水的回复一下好想给你一堆六,但是似乎ichuqiu杜绝这种方式,所以水水好想给你一堆六,但是似乎ichuqiu杜绝这种方式,所以水水的回复一下好想给你一堆六,但是似乎ichuqiu杜绝这种方式,所以水水的回复一下好想给你一堆六,但是似乎ichuqiu杜绝这种方式,所以水水的回复一下好想给你一堆六,但是似乎ichuqiu杜绝这种方式,所以水水的回复一下的回复一下好想给你一堆六,但是似乎ichuqiu杜绝这种方式,所以水水的回复一下
    使用道具 评分 举报 回复好想给你一堆六,但是似乎ichuqiu杜绝这种方式,所以水水的回复一下好想给你一堆六,但是似乎ichuqiu杜绝这种方式,所以水水的回复一下好想给你一堆六,但是似
    使用道具 举报 回复
    发表于 2018-11-9 09:52:38
    bigin 发表于 2018-11-9 09:31
    这特么不是XSS+CSRF吗,怎么就成了爬虫

    他后台无敌多表单验证  普通xss玩不转的  而且里面有一点比较恶心就是  他会记录IP
    使用道具 举报 回复
    发表于 2018-11-9 10:15:09
    初来乍到01 发表于 2018-11-9 10:11
    说的那么高大上,进来一看是xss跟csrf的完美结合

    你可以自己搭建下试下,自己写下csrf来日后台  普通的日不过后台的
    使用道具 举报 回复
    小猪 发表于 2018-11-9 10:15
    你可以自己搭建下试下,自己写下csrf来日后台  普通的日不过后台的

    好的,有空试一下
    有一天他会突然觉得累了甚至忘了初衷 放弃了梦想也许因为年纪的关系奔波于现实 然后拉黑了网络认识的所有人或者说不用了一个号码换了一个QQ 那么记得他叫大叔 这个网络他曾来过
    使用道具 举报 回复
    发表于 2018-11-14 14:24:51
                         
    1
    使用道具 举报 回复
    fu               
    使用道具 举报 回复
    想看大佬操作想看大佬操作想看大佬操作想看大佬操作想看大佬操作
    使用道具 举报 回复

    想看大佬操作想看大佬操作想看大佬操作想看大佬操作想看大佬操
    使用道具 举报 回复
    好好学习天天向上
    http://www.cnblogs.com/fox-yu/
    使用道具 举报 回复
    学习小洲老师嘿嘿技术
    使用道具 举报 回复
    大佬大佬真骚
    喜荣华正好,恨无常又到
    使用道具 举报 回复
    发表于 2018-11-8 23:36:59
    吃瓜观众,,
    使用道具 举报 回复
    发表于 2018-11-8 23:37:16
    666666666666666666
    使用道具 举报 回复
    发表于 2018-11-9 00:10:01
    网盘传错啦,,网盘的是phpok
    使用道具 举报 回复
    发表于 2018-11-9 02:05:14
    66666666666666666666
    使用道具 举报 回复
    发表于 2018-11-9 08:55:24
    6666666看一看
    使用道具 举报 回复
    发表于 2018-11-9 09:24:06
    VGodkey 发表于 2018-11-9 00:10
    网盘传错啦,,网盘的是phpok

    已经修复
    使用道具 举报 回复
    发表于 2018-11-9 09:31:03
    这特么不是XSS+CSRF吗,怎么就成了爬虫
    使用道具 举报 回复
    发表于 2018-11-9 09:42:22
    666666666666
    本屌技术渣,Q1322856336,欢迎各位表哥们指点交流~
    使用道具 举报 回复
    发表于 2018-11-9 09:52:10
    稳的,看看隐藏内容
    使用道具 举报 回复
    发表于 2018-11-9 09:55:47
    少时诵诗书
    使用道具 举报 回复
    您需要登录后才可以回帖 登录 | 立即注册