zoukankan      html  css  js  c++  java
  • sql注入问题回顾

    (以下语法均为在python中使用mysql语句,部分代码省略,使用python中的pymsql模块获取游标对象即可直接执行sql语句)
    sql注入:在传入参数的时候做出改变,使得插入数据这条sql语句在被执行的时候发生语义变化。
    关键点:
    1.传入参数用户名末尾带 '
    2.后面跟上 or 11 ,不一定非要是11,只要是条件为真即可
    3.再跟上 -- ,--在sql语句执行时是注释的意思,他后面的所有语句其全部被注释
    将123步合成就是: username' or 1==1 --
    上述参数必须是当作用户名传入,而不能当作用户密码。

    具体情景及语法例子:前端输入用户名时你输入 :username' or 1==1 -- 这个,用户密码随便输,然后都能进入数据库获取数据。
    语句:sql = "select * from usr_pwd where username='%s' and passwrod='%s' " % (user,pwd)
    当你把用户名输成上述样子,最终execute执行的时候相当于执行了此语句:
    select * from usr_pwd where username='chenghao' or 1=1 结果是真,所以数据会被查询出来
    select * from usr_pwd where username='chenghao' or 1=1 -- ' and passwrod='555'
    # execute 在执行查询语句的时候,返回的是查询的条数.
    res = cursor.execute(sql)

    总结:sql注入问题漏洞不知这一方面,目前没有去了解其他的漏洞,有兴趣的可以在下面分享。

  • 相关阅读:
    android spinner学习
    cookie的学习笔记三(做俩个小练习);
    Cookie的细节具体保存的有效时间
    cookie技术核心! 就是四个类的应用 搞懂这个基本上就把这个搞定了!
    学习Servlet的重要应用 在什么地方用写路径
    数组空值empty
    ios学习杂记
    ios广告封装
    Runtime
    UIImage分类,设置边框
  • 原文地址:https://www.cnblogs.com/caiwenjun/p/11973069.html
Copyright © 2011-2022 走看看