非盲注。 直接出管理的各种数据。

依旧demo测试。

在ask/model/index.class.php中

function attention_action()

{

$this->is_login();//需要登录会员

$is_set=$this->obj->DB_select_once("attention","`uid`='".$this->uid."' and `type`='".(int)$_POST['type']."'");//这里让type为1

if($_POST['type']=='1')

{

$info=$this->obj->DB_select_once("question","`id`='".(int)$_POST['id']."'","`id`,`title`,`uid`");

$gourl= $this->aurl(array("url"=>"c:content,id:".$info['id']));

$content="关注了《".$info['title']."》。";

$n_contemt="取消了对《".$info['title']."》的关注。";

$log="关注了《".$info['title']."》";

$n_log="取消了对《".$info['title']."》";

}else{

$info=$this->obj->DB_select_once("q_class","`id`='".$_POST['id']."'","`id`,`name`");

$gourl= $this->aurl(array("url"=>"c:getclass,id:".$info['id']));

$content="关注了".$info['name']."。";

$n_contemt="取消了".$info['name']."的关注。";

$log="关注了".$info['name'];

$n_log="取消了对".$info['name']."的关注。";

}

if($info['uid']==$this->uid){

echo '4';

}else if(is_array($is_set)){ //这里一开始$is_set为空

所以不会进入这里 当第二次进入的时候 就是数组了 就会进这里面了

所以这个洞 我们一个帐号用一次。

$ids=@explode(',',$is_set['ids']);

if(in_array($_POST['id'],$ids))

{

if($_POST['type']=='1')

{

echo '2';

}else{

foreach($ids as $k=>$v )

{

if($v!=$_POST['id'])

{

$i_ids[]=$v;

}

}

if($i_ids)

{

$n_id=$this->obj->update_once("attention",array("ids"=>@implode(',',$i_ids)),array("id"=>$is_set['id']));

}else{

$n_id=$this->obj->DB_delete_all("attention","`id`='".$is_set['id']."'");

}

if($n_id)

{

$data['uid']=$this->uid;

$data['content']=$n_contemt;

$data['ctime']=time();

$this->obj->insert_into("friend_state",$data);

$this->obj->member_log($n_log);

echo '3';

}

}

}else{

//当不为数组的时候 就是一开始为空的时候

$i_ids=$is_set['ids'].','.$_POST['id'];//这里拼接了$_POST['id] 所以也算部分可控了。

$n_id=$this->obj->update_once("attention",array("ids"=>$i_ids),array("id"=>$is_set['id']));//带入到update中入库

if($n_id)

function attenquestion_action()

{

if($this->uid=='')

{

$this->obj->ACT_msg($_SERVER['HTTP_REFERER'],"请先登录!");

}

$this->public_action();

$ids=$this->obj->DB_select_once("attention","`uid`='".$this->uid."' and `type`='1'","`ids`");//这里出库

$ids=rtrim($ids['ids'],',');//对刚才入库的 赋值给$ids

$pageurl=$this->aurl(array("url"=>"c:".$_GET['c'].",page:{{page}}"));

$question=$this->get_page("question","`id` in (".$ids.") order by `add_time` desc",$pageurl,"10");//没有单引号

if(!empty($question))

{

foreach($question as $k=>$v)

{

$uid[]=$v['uid'];

}

$uids=implode(',',$uid);

$friend_info=$this->obj->DB_select_all("friend_info","`uid` in (".$uids.")","`uid`,`pic`");

foreach($question as $key=>$val)

{

foreach($friend_info as $k=>$v)

{

if($val['uid']==$v['uid'])

{

if($val['uid']==$v['uid'])

{

if($v['pic'])

{

$question[$key]['pic']=$v['pic'];

}else{

$question[$key]['pic']=$this->config['sy_weburl'].'/'.$this->config['sy_friend_icon'];

}

}

}

}

}

}

$this->yunset("question",$question); //这里直接把数据显示出来

if($config['sy_istemplate']!='1' || md5(md5($config['sy_safekey']).$_GET['m'])!=$_POST['safekey'])

{

foreach($_POST as $id=>$v){

$str = html_entity_decode($v,ENT_QUOTES,"GB2312");

$v = common_htmlspecialchars($id,$v,$str,$config);

safesql($id,$v,"POST",$config);

$id = sfkeyword($id,$config);

$v = sfkeyword($v,$config);

$_POST[$id] = $v;

}

}

继续bypass这个

http://www.hr135.com/company/index.php?m=index&c=index&id=3751&style=../../template/admin&tp=/admin_web_config

拿到key 经过计算 继续bypass过滤。

这里需要请求两次。

然后访问 web/web/phpyun32/ask/index.php?m=index&c=attenquestion

直接出数据。 这里我再测试一下demo。

我这里惊人的发现。。 demo有安全狗 我擦 绕过了全局的注入 竟然没过安全狗

懒得去研究安全狗了 直接输出一个 hello phpyun

然后继续

成功出数据。

解决方案:

无尽的过滤。

php 访问密码二次验证,phpyun v3.2 (20141222) 前台二次注入(直接出管理密码 demo测试)...相关推荐

  1. 小米云服务器怎么管理员密码,小米路由器管理密码怎么设置 小米路由器管理密码设置介绍【图文】...

    路由器产品已经成为我们的实际生活中必不可缺的重要工具之一了,而且针对旗下林林总总的产品,包括品牌以及具体的型号板块都为消费者提供了多种多样的选择,那么对于我们自己而言,就比较倾向于选择知名的大品牌旗下 ...

  2. 小米3Android密码怎么解吗,小米路由器3管理密码忘记了怎么办?

    问:我家的路由器是小米路由器3,打开miwifi.com进行设置的时候,要求输入管理密码. 可是我不记得管理密码是多少了,现在应该怎么办? 答:如果把小米路由器3的管理密码忘记了,可以通过下面2种方式 ...

  3. Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

    Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...

  4. 群晖服务器共享文件忘记密码,群晖synology NAS ds 1815+忘记google authenticator二次验证密码...

    群晖synology NAS为了登录安全起见,设置了google的二次验证,当换手机或者刷机前没有解除二次验证时,就悲剧了,输入帐号密码后,就要输入6位google的二次验证吗,群晖登录不了,让你联系 ...

  5. Centos7机器配置Google Authenticator动态密钥进行ssh二次验证图文详解

    就跟银行账户登录需要手机短信或者令牌进行二次验证一样,给企业的业务电脑配置远程ssh登录的二次验证也是一个非常必要的安全措施,这样即使坏人知道了访问密码也无法登录机器.这篇文章就记录下今天我给一台机器 ...

  6. 怎么知道本台计算机的用户名和密码,访问其它电脑时“开始-运行-\输入要连接的电脑的IP,用户名和密码输入什么?...

    访问其它电脑时"开始-运行-\输入要连接的电脑的IP",用户名和密码输入什么?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让 ...

  7. PHP实现谷歌验证器二次验证

    一.什么是谷歌身份验证器? 不少网站在登陆或者操作时都需要谷歌身份验证器(Google Authenticator),就是说在输入用户名和密码之后还需要输入一个动态密码,而这个动态密码由手机APP谷歌 ...

  8. 铁威马NAS如何开启二次验证提高系统安全性

    想到登录TNAS时更安全?直接开启OTP二次验证,通过 TNAS mobile生成的一次性密码登录NAS存储,简单设置,提升TOS系统访问安全性给你TNAS双重保护. 1.首先,确认你的TOS系统在5 ...

  9. 【C 语言】数组 ( 验证二维数组内存是线性的 | 打印二维数组 | 以一维数组方式打印二维数组 | 打印二维数组值和地址 )

    文章目录 一.验证二维数组内存是线性的 1.打印二维数组 2.以一维数组方式打印二维数组 3.打印二维数组值和地址 二.完整代码示例 一.验证二维数组内存是线性的 验证二维数组内存是线性的 : 验证方 ...

最新文章

  1. HBase、Redis、MongoDB、Couchbase、LevelDB 五款主流NoSQL数据库大比拼
  2. matlab 角域重采样,matlab滤波技术与区域处理---区域滤波
  3. C#实现POST提交方式
  4. 2019牛客多校第三场 F.Planting Trees
  5. matlab制作以太网数据接收上位机_3D激光扫描仪设计及数据处理
  6. dp、sp 转换为 px 的工具类
  7. python创建sqlite数据库表_python数据库sqlite基础(一)-------数据库创建,表的建立,数据录入,数据查询...
  8. 阿里云使用js 实现OSS图片上传、获取OSS图片列表、获取图片外网访问地址(读写权限私有、读写权限公共);...
  9. C++编程问题--glibc detected *** ./a.out: munmap_chunk(): invalid pointer: xxxxxx
  10. esxi linux 网络不可达,将ESXI所有的端口组迁移到分布式交换机的步骤
  11. java多分支流程图_Java 流程控制 之 分支结构(条件判断)
  12. 【转】西冷牛排,菲力牛排,眼肉牛排,雪花牛排,T骨牛排,沙朗牛排有什么不同?
  13. Mysql登录默认密码
  14. 自变量与因变量相关分析不显著能做回归分析吗?
  15. Cpp Careless Tony
  16. 神经元的结构是?包括髓鞘吗?|小白心理-347/312考研答疑
  17. Android 自定义锁屏 监听系统消息推送
  18. ★Kali信息收集~ 5.The Harvester:邮箱挖掘器
  19. 来自华为创始人演讲的几点感悟,助你新的一年升职加薪
  20. UE4莫名其妙崩溃的解决办法

热门文章

  1. 一物一码防伪溯源系统前景如何
  2. pcb图3d模型丢失的情况解决
  3. Java研发团队高效能规范
  4. OpenCV漫水填充
  5. Java Thread 实现方式
  6. C语言如何让程序一秒运行一下,少儿编程中的等待一秒
  7. ios 使用webview 查找_ios: WebView内高亮搜索
  8. 土味网红崛起的背后,是不为人知的心酸
  9. 一个有趣的仿cmd小游戏(原创)
  10. 冲突向量求流水线调度策咯