首页 > 数据库 >安全相关--SQL注入

安全相关--SQL注入

时间:2023-07-17 15:11:43浏览次数:28  
标签:username 用户名 -- cursor SQL password 注入

SQL注入的原因

SQL注入的原因 是由于特殊符号的组合会产生特殊的效果
实际生活中 尤其是在注册用户名的时候 会非常明显的提示你很多特殊符号不能用
因此我们在设计到敏感数据部分 不要自己拼接 交给现成的方法拼接即可

pycharm操作MySQL

import pymysql

conn=pymysql.connect(
host='127.0.0.1',
port=3306,
user='数据库名称',
password='数据库密码',
charset='utf8',
database='数据库',
)

cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)
username=input('username>>>').strip()
password=inpyt('password>>>').strip()
sql='select * from t1 where name=%s and pwd=%s'%(username,password)

cursor.execute(sql)

上述代码为登录验证操作,但会出现 只需要用户名也可以登录、不需要用户名和密码也能登录、SQL注入问题

eg:
	username>>> jack' -- 其他代码
	username>>> xxx' or 1=1  #不需要用户名和密码就能登录

在使用代码进行数据操作的时候 不同操作的级别是不一样的

针对查无所谓
针对增 改 删都需要二次确认:
    conn.commit()

安全问题

1.密码加密
2.SQL注入
3.xss共计
4.CSRF跨站请求

标签:username,用户名,--,cursor,SQL,password,注入
From: https://www.cnblogs.com/yexinli/p/17560159.html

相关文章

  • ElasticSearch安装中文分词器(插件)、分词测试
    https://github.com/medcl/elasticsearch-analysis-ik分词测试:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/indices-analyze.html请求URL:http://127.0.0.1:9200/_analyze请求方式:POST请求体/类型(JSON):{"analyzer":"ik_max_word",......
  • ElasticSearch-Mapping类型映射-增删改查
    https://www.elastic.co/guide/en/elasticsearch/reference/6.8/mapping.html7.x版本后默认都是_doc类型增加Mapping映射先说一个特殊的字段_all:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/mapping-all-field.html#mapping-all-field_all字段是一个特......
  • ytwy
    SLAM学习笔记—后端概述状态估计概率分布的核心思想未知量(\(x_k\))的后验概率分布=似然概率分布×未知量(\(x_k\))的先验概率分布这一等式贯穿全文,请牢牢抓住!运动方程和观测方程\[\begin{cases}x_k=f(x_{k-1},u_k)+w_k\\\\z_k=h(x_k)+v_k\end{cases},k......
  • for...in循环和for...of循环的区别?
    大原則:for...in只用來遍歷對象中的key,不用來遍歷數組 for…of是ES6新增的遍历方式,允许遍历一个含有iterator接口的数据结构(数组、对象等)并且返回各项的值,和ES3中的for…in的区别如下:for…of遍历获取的是对象的键值,for…in获取的是对象的键名;for…in会遍历对象的整个......
  • ArcEngine调用GP工具(含界面)
    GP工具是ArcGIS的精髓。在开发时,可以通过调用所有系统的GP,也可以调用自定义的GP。除此外,居然也可以直接调用GP工具的界面。操作方法如下:privatevoidbutton1_Click(objectsender,EventArgse){//创建GPToolCommandHelper对象IGPToolCommandHelper2gpToolCommand......
  • python实现跨域代理服务器
    准备环境python3.7+依赖:aiohttp代码实现(代理服务器,返回响应体和进行跨域处理后的headers)importaiohttpfromfunctoolsimportwrapsfromaiohttpimportwebcorscode={'Access-Control-Allow-Origin':'*','Access-Contr......
  • .net6操作mqtt
    .net6操作mqtt客户端usingMQTTnet.Client;usingMQTTnet.Protocol;usingMQTTnet;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceSendMessageMqttClinet{publicclassMqttServ......
  • APP加固:助力移动应用安全合规
    近日,工业和信息化部发布了2023年第2批侵害用户权益行为的App(SDK)名单,55款App因涉及强制、频繁、过度索取权限等问题而被通报。这一举措进一步凸显了合规对于APP发展的重要性。根据工业和信息化部的通报,被通报的这些App存在着一些消费者难以察觉的问题,如频繁自启动和关联启动、超范......
  • Reactjs学习笔记
    本篇是关于React的简介ReactJS是Facebook推出的一款前端框架,2013年开源,提供了一种函数式编程思想,拥有比较健全的文档和完善的社区,在React16的版本中对算法进行了革新,称之为ReactFiber。开发环境搭建需要nodeJS解析器,以及npm(node的包管理工具)如何引用React1.使用.js来引入......
  • adb如何做Android ui自动化(这一篇就够了)
    一.简介我们都知道在做Androidui自动化的时候用的是appium,环境搭建贼难受。如果我们在工作中遇到需要实现简单的自动化功能,可以直接使用adb来完成,无需去搭建繁琐的appium。ADB(AndroidDebugBridge)是一个用于在Android设备和计算机之间传输数据、安装应用程序、调试和测试Androi......