搜索此博客

2017年8月7日星期一

Metinfo 5.3.17 前台SQL注入漏洞分析

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
Metinfo 5.3.17 前台SQL注入漏洞分析  阅读原文»

<p>Metinfo 8月1日升级了版本,修复了一个影响小于等于5.3.17版本(几乎可以追溯到所有5.x版本)的SQL注入漏洞。这个SQL注入漏洞不受软WAF影响,可以直接获取数据,影响较广。</p> <h2 id="0x01"><a class="toclink" href="#0x01">0x01. 漏洞原理分析</a></h2> <p>漏洞出现在 /include/global.func.php 文件的 jump_pseudo 函数:</p> <div class="codehilite"><pre><span></span><span class="cp">&lt;?php</span> <span class="cm">/*静态页面跳转*/</span> <span class="k">function</span> <span class="nf">jump_pseu...</span></pre></div>
黑客技术官网地址:http://www.hackdig.com/

【技术分享】利用脚本注入漏洞攻击ReactJS应用程序  阅读原文»

2017-08-07 09:57:22 阅读:2554次 收藏 来源: medium.com/@muellerberndt 作者:WisFree

http://pic1.hackdig.com/pp/2922be572a83b8a8c47e1e825dc5460708c74713c79e072e40cd44161ec8e23b9e3ae0800a44281cb4158ff0ba6eb532.jpg

译者:WisFree

预估稿费:200RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


ReactJS是一款能够帮助开发者构建用户接口的热门JavaScript库。在它的帮助下,开发者可以构建出内容丰富的客户端或Web应用,并且提前加载内容以提供更好的用户体验。

从设计角度来看,只要你能够按照开发标准来使用ReactJS的话,它其实是非常安全的。但是在网络安全领域中,没有任何东西是绝对安全的,而错误的编程实践方式将导致类似脚本注入漏洞之类的问题产生,这些错误的编程方式包括:

1.利用用户提供的对象来创建React组件;

2.利用用户提供的href属性来配置<a>标签,或利用其他可注入的属性来设置其他的HTML标签(例如link标签);

3.显示地设置一个元素的dangerouslySetInnerHTML属性(危险的HTML标签属性);

4.向eval()传递用户提供的字符串数据;

接下来,让我们一起看一看这些潜在的问题将如何影响ReactJS应用程序,并最终导致了脚本注入漏洞的出现。


组件、属性和元素


ReactJS应用程序中,组件是最基本的组成部分。从本质上来说,这些组件其实都类似于JavaScript函数,它们可以接受任意的输入数据,然后返回React元素。一个基本的ReactJS组件如下所示:

class Welcome extends React.Component {
  render() {
return <h1>Hello, {this.props.name}</h1>;
  }
}

请注意上面代码中的return语句,这是一种JavaScript中的语句扩展(JSX)。在项目构建的过程中,JSX代码将会被编译成常规的JavaScript(ES5)代码。下面给出的两种样本代码其功能是完全相同的:

// JSX
const element = (
  <h1 className="greeting">
  Hello, world!
  </h1>
);
// Transpiled to createElement() call
const element = React.createElement(
  'h1',
  {className: 'greeting'},
  'Hello, world!'
);
在创建新的React元素时,使用的是component类中的createElement()函数:
React.createElement(
  type,
  [props],
  [...children]
)

这个函数可以接受三个参数:

1.type参数:该参数可以是一个标签名(例如'div'或'span'),或一个component类。但是在React Native中只允许component类。

2.props参数:该参数包含一个传递给新元素的属性列表。

3.children参数:该参数包含新元素的子节点。

没有评论: