当前位置: 首页 > news >正文

网站后台添加表格互联网公司排名2024

网站后台添加表格,互联网公司排名2024,在百度里面做个网站怎么做的,wordpress发红包插件问题: XPath 注入是指数据从一个不可信赖数据源进入程序,用于动态构造一个 XPath 查询,获取权限信息 的访问权并更改这些信息的一种攻击方式。 例如:以下代码片段中,可动态地构建并执行一个 XPath 查询&#xf…

问题:

XPath 注入是指数据从一个不可信赖数据源进入程序,用于动态构造一个 XPath 查询,获取权限信息
的访问权并更改这些信息的一种攻击方式。
例如:以下代码片段中,可动态地构建并执行一个 XPath 查询,为指定的帐户 ID 检索电子邮件地址。
String acctID = request.getParameter("acctID");
String query = null;
if(acctID != null) {
StringBuffer sb = new StringBuffer("/accounts/account[acctID='");
sb.append(acctID);
sb.append("']/email/text()");
query = sb.toString();
}
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(true);
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse("accounts.xml");
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr = xpath.compile(query);
Object result = expr.evaluate(doc, XPathConstants.NODESET);
正常情况下(例如搜索属于帐号 1 的电子邮件地址),此代码所执行的查询如下所示:
/accounts/account[acctID='1']/email/text()
如果攻击者为 acctID 输入字符串 1' or '1' = '1 ,则该查询会变成:
/accounts/account[acctID='1' or '1' = '1']/email/text()
附加条件 1' or '1' = '1 会使 where 从句永远评估为 true ,因此该查询在逻辑上将等同于一个更为简化的
查询:
//email/text()
这样就可以查询到文档中存储的所有电子邮件地址。
修复:
造成 XPath 注入的根本原因在于攻击者能够改变 XPath 查询的上下文,导致程序员期望解释为数据的
某个数值被解释为命令了。为了防止攻击者侵犯程序员的各种预设情况,可以使用白名单的方法,确保
XPath 查询中由用户控制的数值完全来自于预定的字符集合,不包含任何 XPath 元字符。如果由用户控制
的数值要求它包含 XPath 元字符,则使用相应的编码机制转义或删除这些元字符。
例如:以下代码片段中,将不可信赖的数据 acctID 转化为一个整形再用于构造 XPath 查询,避免了 XPath
注入攻击。
String acctID = request.getParameter("acctID");
String query = null;
if(acctID != null) {
Integer iAcctID = -1;
try {
iAcctID = Integer.parseInt(acctID);
}
catch (NumberFormatException e) {
throw new InvalidParameterException();
}
StringBuffer sb = new StringBuffer("/accounts/account[acctID='");
sb.append(iAcctID.toString());
sb.append("']/email/text()");
query = sb.toString();
}
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(true);
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse("accounts.xml");
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr = xpath.compile(query);
Object result = expr.evaluate(doc, XPathConstants.NODESET);
http://www.yayakq.cn/news/802746/

相关文章:

  • 莱州官方网站外贸英文商城网站建设
  • 网站建立登录账号密码万网是做什么的
  • html5产品展示网站模板内蒙网站开发
  • 盐城网站开发效果wordpress 安装后空白
  • 昆明网站建设技术公司设计logo的小程序
  • php可以做视频网站有哪些王者荣耀个人主页
  • 房产资讯的网站怎么做赣州网络公司电话
  • 做cpa项目用什么网站美颜秘籍网站建设
  • 东莞个人网站制作wordpress 跳转 计数
  • 网站图片翻页怎么做免费咨询律师网
  • 网站源码对应的数据库怎么做php网站开发专员招聘
  • 北京网站开发外包软文广告范例大全
  • 网站设计和网站建设三乡网站开发
  • 温州网站制作价格设计制作费用计入什么会计科目
  • 直播网站 建设上海网站建设开发哪家好
  • wap网站建设课程要写代码吗侯马网站建设
  • 网站开发和维护中建西部建设股份有限公司网站
  • 公司网站建设方案设计上海网站开发开发好的公司电话
  • 住房住房和城乡建设厅网站设计分公司加盟
  • 网站备案都审核什么资料企业营销策划论文
  • 网站页脚信息芜湖先锋网站两学一做
  • 拼多多cms网站怎么做wordpress首页手机版
  • 东阳网站建设软件开发网站建设品牌推荐
  • 2018淘宝客网站开发官网设计效果图
  • 网站雪花代码邯郸医疗网站建设
  • 胶州建设局网站wordpress产品页面模板
  • 企业网站开发信息php网站开发外包
  • 哈德网站建设手机版企页网站案例
  • 公司都是自己制作网站做微商去哪个网站推广
  • 网站策划书背景介绍永久云服务器