`
ningzai
  • 浏览: 70507 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
最近访客 更多访客>>
社区版块
存档分类
最新评论

SQL数据注入漏洞-绕过登陆验证

阅读更多
//接受用户名和密码
String u=req.getParameter("username");
String p=req.getParameter("password");
........//中间没写出来
........
statement str;
ResultSet rs=str.excuteQuery("select top 1 * from usertable where usename='"+u+"'and password='"+p+"'");
//这里查询数据库是同时验证用户名和密码了 这样很容易让别人利用SQL注入漏洞绕过权限 访问数据库,这里的top是指当找到匹配的用户名之后就停止查询,不再继续,也就是只返回一条记录,这样可以节省资源
//注入漏洞实例:
select * from usertable where username='任意' and password='任意' or 1='1'';这样就轻松访问数据库。

修改方法:先根据用户名得到相应密码,然后根据得到的密码和输入的相比较,以判断是否通过验证,避免同是用用户名和密码查询。
ResultSet rs=str.excuteQuery("select top 1 password * from usertable where usename='"+u+"'");
if(rs.next()){
//说明用户存在
String dbpassword=rs.getString(1);
if(dbpassword.equals(p)){
  //用户密码合法 则通过登陆
res.sendRedirect("登陆成功之后的页面");
}
}else
{//用户名不存在,跳转
res.sendRedirect("servlet-name");
}

分享到:
评论
1 楼 cooltester 2009-09-11  
按照楼主的方法,好像不行!
附上核心代码:
Connection conn=null;//初始化  
Statement st=null; //初始化

String n=request.getParameter("name");//得到提交页的用户值;
String p=request.getParameter("pass");//得到提交页的密码值;
st=conn.createStatement();//创造执行实例
String StrSQL="select * from info_test where name='"+n+"'";
ResultSet rs=st.executeQuery(StrSQL);//执行SQL语句;

if(rs.next())
{//如果用户存在
String pw=rs.getString(3);//将库中第3列的数据取出来,即取出库中密码;
out.println(pw); //在浏览器中输出密码;
   if(pw.equals(p))//判断库中密码【pw】是否与提交页密码【p】相等;
  {
    out.println("正确登陆");//如果相等,则输出“正确登陆”;
    st.close();//实例关闭;
     conn.close();//数据库连接关闭;
     out.println("数据库关闭成功!!");//输出“数据库关闭”;
   }
     else
   {
     out.println("密码错误");
     st.close();
     conn.close();
     System.out.println("数据库关闭成功!!");
    }
   }
  else
    {
      out.println("不存在该用户");
      st.close();
      conn.close();
      System.out.println("数据库关闭成功!!");
    }

---------------------------------end
1.如果用户名不正确,那么返回“不存在该用户”,没有问题;
2.如果用户名正确,密码不管正确与否,都返回“密码错误”!!
看来 pw.equals(p) 程序没有识别对,不知何解?---------我的QQ:565547027

相关推荐

    计算机病毒与防护:SQL注入原理.ppt

    SQL注入的危害-绕过登录 某高校招聘录入系统登录框存在SQL注入漏洞: SQL注入的危害-数据盗取 智慧医疗安全之云信医疗主站存在SQL注入漏洞,涉及近500W+用户数据: SQL注入的分类 SQL注入测试方法 判断注入漏洞的...

    Secure-Systems-of-SQL-Injection-Attack:具有SQL注入漏洞的安全系统

    具有SQL注入漏洞的安全系统 抽象的 Web应用程序带来了新型的计算机安全漏洞,例如SQL注入。 这是一类基于输入验证的漏洞。 SQL注入的典型用法是从数据库泄漏机密信息,绕过身份验证逻辑或向数据库中添加未经授权的...

    web渗透系列教学下载共64份.zip

    web渗透系列教学下载共64份: 内容如下; web渗透--1--web安全原则.pdf ...web渗透--64--常见的WAF绕过方法.pdf web渗透--7--识别web应用框架.pdf web渗透--8--配置管理测试.pdf web渗透--9--身份管理测试.pdf

    sqlmap_自动化sql注入引擎_None_sqlmap_sql注入_sql_flath1c_vulnerability_

    SQL注入(SQLi)是一种注入攻击,...攻击者可以使用SQL注入漏洞绕过应用程序安全措施;可以绕过网页或Web应用程序的身份验证和授权,并检索整个SQL数据库的内容;还可以使用SQL注入来添加,修改和删除数据库中的记录。

    浅谈SQL注入

    攻击者可以使用SQL注入漏洞绕过应用程序安全措施,可以绕过网页或Web应用程序的身份验证和授权,并检索整个SQL数据库的内容;还可以使用SQL注入来添加,修改和删除数据库中的记录。也就是说web应用程序对用户输入...

    ecshop常见漏洞

    ECSHOP的配送地址页面网页没有验证地区参数的有效性,存在sql注入漏洞;ecshop的后台编辑文件/admin/affiliate_ck.php中,对输入参数auid未进行正确类型转义,导致整型注入的发生;ecshop的后台编辑文件/admin/...

    sql注入原理

    后台身份验证绕过漏洞,信息对抗学科中sql注入原理以及方法。

    ASP中SQL注入式攻击的防范

    SQL注入式攻击就是利用设计上的漏洞,将SQL命令插入到Web表单( form)的输入域或者Web页面请求的查询字符串中,在目标服务器上运行SQL命令以及进行其他方式进行攻击,动态生成SQL命令时没有对用户输入的数据进行验证,...

    模板注入与_FLASK.pdf

    本次议题结合Flask框架及其使用的Jinja2模板,讲解了模板注入的原理、注入手段和一些绕过方式,以及结合Python沙盒逃逸思路的一些攻击手段,最后针对模板注入漏洞的发现及防御进行了一些讨论。 模板注入基本成因 ...

    White-box-pentesting:创建此实验室的目的是演示哈希传递,盲SQL和SSTI漏洞

    盲SQL和SSTI漏洞漏洞描述基于注册表单的二阶基于盲布尔的sql注入,如果为true,则会导致users_logs,所有日志都将显示,否则为空哈希中的管理员用户名和密码无法破解,因此很难绕过身份验证强调身份验证系统可以帮助...

    Nacos2.2.2增加鉴权配置,防止NACOS身份登陆绕过漏洞

    Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如...

    SQL注入全过程深入分析

    初步注入–绕过验证,直接登录 公司网站登陆框如下: 可以看到除了账号密码之外,还有一个公司名的输入框,根据输入框的形式不难推出SQL的写法如下: 代码如下:SELECT * From Table WHERE Name=’XX’ and ...

    超全的Web渗透自我学习资料合集(64篇).zip

    超全的Web渗透学习资料合集,共64篇。 web渗透: web安全原则 web渗透: web渗透测试清单 web渗透: 自动化漏洞扫描 web渗透: Google Hacking web渗透: web服务器指纹识别 ...web渗透: 常见的WAF绕过方法

    Web安全深度剖析(张柄帅)

    第5章 SQL注入漏洞 64 5.1 SQL注入原理 64 5.2 注入漏洞分类 66 5.2.1 数字型注入 66 5.2.2 字符型注入 67 5.2.3 SQL注入分类 68 5.3 常见数据库注入 69 5.3.1 SQL Server 69 5.3.2 MySQL 75 5.3.3 Oracle 84 5.4 ...

    《安天365安全研究》第二期.pdf

    3.7.0 Core com_fields 组件 SQL 注入漏洞 2.2.1 漏洞简介 2.2.2 漏洞流程图 2.2.3 漏洞分析 2.2.4 补丁分析 2.2.5 总结 2.2.6 参考 2.3 从 mysql 注入到 getshell 2.3.1 系统基本信息获取 2.3.2 获取操作系统类型 ...

    iis网站服务器+sqlserver数据库服务器安全

    get,post,cookie验证,防注入3页面层不含任何业务逻辑4fck等编辑器有安全漏洞,慎用5.net开发除了在页面层对所有输入要防注入外,最好在底层再做一次,只对输入进行单引号没用,很容易绕过。6操作实体进如果不是全表...

    黑帽渗透web安全基础.txt

    71.mime类型绕过.mp4 72.解析漏洞.mp4 73.双文件上传.mp4 74.找上传已知漏洞.mp4 6.mysql注入进阶DNS查询 75.理解DNS.mp4 76.Sql注入利用DNS注入.mp4 77.学员搭建环境.mp4 78.其他数据库注入.mp4 7.文件包含读取代码...

    网站安全狗IIS版 v4.0.18081.exe

    软件集网站内容安全防护、网站资源保护及网站流量保护功能为一体,功能涵盖网马/木马扫描、防SQL注入、防盗链、防黑链、防CC攻击、网站加速、危险组件防护、下载线程保护、IP黑白名单管理、实时流量监控、实时CPU...

    Astra:REST API的自动化安全测试

    阿斯特拉 由于现有API和新添加的API不断... SQL注入 跨站脚本 信息泄漏 身份验证和会话管理中断 CSRF(包括盲CSRF) 速率限制 CORS配置错误(包括CORS绕过技术) JWT攻击 CRLF检测 XXE盲注 路线图 需求 Linux或MacOS

    PHPCMS网站系统最新官方版

    修复短信验证绕过漏洞! 修复申请友情链接处xss漏洞 修复 投稿存储XSS问题 修复SQL漏洞:视频模型存在的问题 new_html_entity_decode 增加php5.4支持 修复会员审批存在xss漏洞注入 修复:上传头像可能存在的漏洞!...

Global site tag (gtag.js) - Google Analytics