sql注入

    xiaoxiao2021-04-16  25

    什么是sql注入

    SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

    在网站中,我们经常使用带参数的输入,例如www.***.com?id = 1

    在系统的后台中会得到这样的sql语句

    select attributre from tableName WHERE id=“1”

    下面是sql注入的例子,如果我们给一个url,是的拼成下面的sql

    strSQL = "SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1');"这个语句等价为

    strSQL = "SELECT * FROM users;"我们发现,即使使用用户名和密码,也能够轻松查询数据库的信息

    在MySQL中,最后连续的两个减号表示忽略此SQL减号后面的语句

    SELECT uid,username FROM user WHERE username='plhwin' AND 1=1-- hack' AND password='0b4e7a0e5fe84ad35fb5f95b9ceeac79'等价于

    SELECT uid,username FROM user WHERE username='plhwin'这样,我们只需要用户名,而不需要密码就能够实现登录

    sql 注入的方式还有很多,再次不再赘述

    如何防止

    sql语句预编译

    对前台传入的数据使用正则表达式进行格式校验等等

    本人是一个sql初学者,因为对web安全好奇,所以找了点资料,写了几句

    转载请注明原文地址: https://ju.6miu.com/read-672312.html

    最新回复(0)