La partie du code sur laquelle je travaille est vulnérable aux XSS stockés. Voici le code.Comment faire pour contourner la vulnérabilité de script intersite stockée dans Asp.net C#
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowCancelingEdit="GridView1_RowCancelingEdit"
OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowDeleting="GridView1_OnRowDeleting" OnPageIndexChanging="GridView1_PageIndexChanging" Width ="1000px" class="grid">
<Columns>
<asp:TemplateField HeaderText="User Name">
<ItemTemplate>
<asp:Label ID="lbl_Name" runat="server" Text='<%#Eval("Uname") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txt_Name" runat="server" Text='<%#Eval("Uname") %>'></asp:TextBox> //this is the line vulnerable to XSS
</EditItemTemplate>
</asp:TemplateField> </columns>
</asp:GridView>
Code
derrière
DataTable dt = new DataTable();
try
{
SqlConnection con = new SqlConnection(conn);
con.Open();
SqlDataAdapter adapt = new SqlDataAdapter("Select Uid,Uname,Utype,Uemail,ClientName,ProjectName,Ulog from usrtable where ClientName='" + clientname + "' and Utype='Admin' or ClientName='" + clientname + "'and Utype='Normal'", con);
**adapt.Fill(dt);**//this is again vulnerable
con.Close();
}
if (dt.Rows.Count > 0)
{
GridView1.DataSource = dt;
GridView1.DataBind();
}
Je ne suis pas familier avec XSS. J'ai parcouru beaucoup de documents. Il nous demande d'encoder les données. Mais dans mon cas, comment puis-je procéder.J'ai beaucoup d'étiquettes et de zones de texte comme modèles d'éléments dans GV. utiliser ceci pour mettre à jour les lignes de la table.
Besoin behind. – Webbanditten
J'ai modifié. veuillez vérifier le code source – Aswini