zoukankan      html  css  js  c++  java
  • 细扣sql注入问题

    细扣sql注入问题

    import pymysql
    
    conn = pymysql.connect(
        user='root',
        password='555',
        host='127.0.0.1',
        port=3306,
        charset='utf8',
        database='db1',
    )
    
    # 新建游标
    cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
    username = input('username:').strip()
    password = input('password:').strip()
    sql = "select *from user where username='%s' and password ='%s' " % (username, password)
    cursor.execute(sql)
    res = cursor.fetchall()
    if res:
        print(res)
    else:
        print('username or password error!')
    
        
        user表中字段
        ID username passwor
        1	egon	123
        
       
    这里要注意几点:
    1.如果直接将sql语句拼接好以后传给execute,%s必须要加引号,为了让数据库识别是字符串
    	但是,如果将关键字传给execute处理时,%不需加上引号,execute会做处理
        
    sql = "select *from user where username= %s and password = %s " 
    cursor.execute(sql,(username, password))
    
    2.sql注入问题两中方式
    正确的用户名' -- adad.a.da.da.d.a(任意字符)
    随便什么' or 1=1 -- ada.d.a.d.a.(任意字符)
    
    3.cursor.execute(sql)
    字段值不正确时,不会报错,会返回一个空的元组
    但是字段名或者表不存在时会报错
    
    4.关键字参数的%s必须要用“”,如果强行拼接的话,如果直接交给execute处理的话,不需要加引号
    
    5.execute里第二个参数必须是有序的容器,或者单个的值
    
  • 相关阅读:
    css--之初级
    html之2
    前端之Html初学
    前端之http协议
    Jmeter连接SqlServer数据库进行压力测试
    web基础知识学习点
    monkeyrunner下登录app
    monkeyrunner下安装app,运行主页
    monkey测试小记
    windows下MonkeyRunner环境搭建
  • 原文地址:https://www.cnblogs.com/godlover/p/12068068.html
Copyright © 2011-2022 走看看