当前位置:七道奇文章资讯安全技术网络技术
日期:2010-09-11 00:16:00  来源:本站整理

一个很简单的Xpath注入测试页面[网络技术]

赞助商链接



  本文“一个很简单的Xpath注入测试页面[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

user_login.aspx:

<%@ Page Language="C#" AutoEventWireup="true"%>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
        string UserName = Request.Form["username"];
        string PassWord = Request.Form["password"];
        if (Check_Login(UserName, PassWord)) Response.Write("欢送你" + UserName + ",你通过了认证"); else Response.Write("你提交的账户不合理");
    }

    public bool Check_Login(string UserName, string PassWord)
    {
        try
        {
            XmlDocument xmlDoc = new XmlDocument();
            //举行xmlpath查询 这里用字符串拼接,触发漏洞
            string Xpath = "/root/user[username='" + UserName + "']";
            Response.Write("履行的xpath查询是:" + Xpath + "<br />");
            xmlDoc.Load(Server.MapPath("Users.xml"));
            //XmlNodeList xmlList = xmlDoc.SelectNodes("/root/user");
            XmlNodeList xmlList = xmlDoc.SelectNodes(Xpath);
            if (xmlList.Count == 0) return false;
            //绑定第一个查询到的节点
            DataSet ds = new DataSet();
            ds.ReadXml(new XmlNodeReader(xmlList[0]), XmlReadMode.Auto);
            string Pwd = ds.Tables[0].Rows[0]["password"].ToString();
            ds.Dispose();
            if (PassWord.Equals(Pwd)) return true;
        }
        catch (XmlException err) { }
        return false;
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form runat="server">
    <div>
        用户登录<br />
        <br />
        用户:<input style="width: 232px" type="text" value="" /><br />
        密码:<input style="width: 232px" type="text" value="" /><br />
        <br />
        <input type="submit" value="登录" />
        <input style="width: 43px" type="reset" value="重填" /></div>
    </form>
</body>
</html>

users.xml:

<?xml version="1.0" encoding="utf-8" ?>
<root>
<user>
    <id>1</id>
    <username>admin</username>
    <password>123</password>
</user>
<user>
    <id>5</id>
    <username>ylbhz</username>
    <password>321</password>
</user>
</root>


  以上是“一个很简单的Xpath注入测试页面[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 一个很简单的Xpath注入测试页面
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .