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注入问题漏洞不知这一方面,目前没有去了解其他的漏洞,有兴趣的可以在下面分享。

  • 相关阅读:
    第3章 敏捷项目管理概述
    第2章 传统与敏捷方法论
    第1章 敏捷思维—“互联网+”知识工作者必备的DNA
    敏捷项目管理架构(APMF)
    敏捷宣言和准则
    研发工程师如何转型项目经理
    软件门外汉的入门进阶
    [摘录]第五部分 经验谈(2)
    [摘录]第五部分 经验谈(1)
    [摘录]第四部分 教训篇(2)
  • 原文地址:https://www.cnblogs.com/caiwenjun/p/11973069.html
Copyright © 2011-2022 走看看