美文网首页
12月5日下午:sql注入猜解和盲注

12月5日下午:sql注入猜解和盲注

作者: FKTX | 来源:发表于2017-12-12 19:03 被阅读0次

    前面提到可以改用户账号密码

    '; insert into users ('user_id','first_name') values('35','yuan')  这是插新用户

    drop table users;--   删除表(前提是这个账号有权限)

    sql注入的危害,来源于数据库管理员的权限有多大,因此配置权限要弄好

    php5.5之前,mysql_real_escape_string()存在,php7.0就没有这个函数了,用mysqli和pdo_mysql取代了

    dvwa的中级中,程序员还可能在sql语句执行的变量处少个引号。。。这就和数值型sql注入类似了。直接就插入语句了。

    dvwa最高级的安全级别,是将数据类型只限制为数字了。(相当于白名单)


    当sql注入的时候,不反回报错信息的时候,就只能盲注了。

    换句话说,当输入单引号等特殊符号没有报错信息的时候,再尝试and 1=1之类的盲注,盲注至少要提交一个正确的值,否则不好判断。

    #和--+起到的效果是一样的。都是注释。

    1' and user is not null--   在盲注中,因为只有正确信息才会返回,所以这里加not

    同理,猜表名也可以这么猜,和前面的原理一样。

    1' or user like '%a%  这样只要有a的存在,就会返回信息

    1' or user='admin' and password='jalkj45atga45qwe'  这里的1多换几个字符来判断

    总结:

    sql注入分为两块:发现注入和利用注入

    发现注入:返回报错信息的,有回显就继续猜测,验证;不反回任何的报错信息,就盲注;还有一种情况,过滤危险字符的,用宽字符注入尝试(根据前端的meta编码来判断是否可以宽字节注入)

    利用注入:无论有没有报错,都要先找到回显地址。若没有禁止order by和union,那就可以直接查。若禁止了,但是能确认有注入点,那么就and各种猜测。

    相关文章

      网友评论

          本文标题:12月5日下午:sql注入猜解和盲注

          本文链接:https://www.haomeiwen.com/subject/uprcixtx.html