sql注入笔记

sql注入笔记

1.什么是sql注入:
      sql注入是将sql代码添加到输入参数中,传递sql服务器解析并执行的一种攻击手法。
sql参数未经过滤直接拼接到sql语句当中, 解析执行,到达预想之外的效果
$sql=” select * from  where id=-1 OR 1=1″;  //OR 1=1  条件查询整张表的

2.sql注入是怎么产生的
 web开发人员无法做到所有的输入都已经过滤;
攻击者利用发送给sql服务器的输入数据,构造可执行的sql代码;
数据库未做相应安全配置。
3.寻找sql注入漏洞
  借助逻辑推理:
         识别web应用中的所有输入点:get数据、 post数据,http头信息
        了解哪些类型的请求会触发异常:在get或post提交数据时,添加单引号,多引号
        检测服务器相应中的异常:
4.如何进行sql注入攻击:
  数字注入:在where条件中添加数字 ,如 select * from  where id=-1 OR 1=1
字符串注入:在用户名input框输入;admin‘# ‘闭合字符串,#注释后面的密码信息,或者用 — 代替 都起到注释后面密码信息的作用。
5.如何预防sql注入
  a.严格检查输入变量的类型和格式;
//数字校验
if (empty($id) || !is_numeric($id)) {
    echo ‘id不能为空必须为数字’;
}
//字符校验
if (empty($name)||preg_match(‘/^[a-zA-Z0-9]{4,}$/’,$name)){
    echo ‘名字不能为空,字符必须在4个以上的符合条件的字符’;
}

b.过滤和转义特殊字符:包括单引号,双引号,反斜杠,通过addslashes()转义,
或者通过mysqli_real_escape_string()效果一样。
c.利用mysqli的预编译机制
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112731.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 从“做事用人”到“用人做事”[通俗易懂]

    从“做事用人”到“用人做事”[通俗易懂]阿里张勇:从“做事用人”到“用人做事”商业管理今年十一月底,阿里巴巴进行了一年一度的组织架构调整,在这次调整中,阿里云升级成为阿里云智能;天猫升级为“大天猫”,并形成了三个事业群。12月时,阿里巴巴集团CEO张勇,在阿里青年干部培训营上,谈了他对这次组织架构升级的思考。36氪发表了张勇的讲话全文,我们从中为你选取了他的5个观点。第一,从“做事用人”到“用人做事”。这是马云给张勇的…

    2025年6月16日
    6
  • 腾讯流量主广告点击一次多少钱_好赞移动科技主要做什么的

    腾讯流量主广告点击一次多少钱_好赞移动科技主要做什么的中国的电信市场已经成为全球规模最大的电信市场,11亿左右的客户规模、上万种的业务模式,让国外电信运营商羡慕不已,但与此同时,国内运营商也面临巨大的挑战,特别是随着科技的进步,我们迎来了移动互联网时代,无处不在的网络已经渗透到各个领域。2月27日,工信部正式向中国联通和中国电信颁发LTEFDD牌照,在中国移动凭借TD-LTE牌照抢跑4G网络14个月、4G客户突破1亿大关时,中国市场全面进入4G竞逐

    2025年9月6日
    6
  • 霍金:外星人存在但别主动去寻找(组图)

    霍金:外星人存在但别主动去寻找(组图)

    2021年8月6日
    68
  • python set大小_python set集合

    python set大小_python set集合集合set可变的无序的不重复的元素集合set定义初始化set()生成一个空集合set(iterable)可通过可迭代对象生产一个新的集合s1=set()s2=set(range(5))s3=set(list(range(10)))s4={}#这是字典的定义方法s5={9,10,11}#sets6={(1,2),3,’a’}s7={[1],(1,),1}#set的元素要…

    2022年5月13日
    54
  • UVA 10142 Australian Voting(模拟)

    UVA 10142 Australian Voting(模拟)

    2021年12月16日
    34
  • 如何修改用户名linux_linux修改hostname

    如何修改用户名linux_linux修改hostnameLinux下如何修改用户名(同时修改用户组名和家目录)有时候,由于某些原因,我们可能会需要重命名用户名。我们可以很容易地修改用户名以及对应的家目录和UID。本教程将会讨论这些东西。让我们先从修改用户名开始。修改用户名我们使用usermod来修改用户名。其语法为,$…在linux中如何增加修改删除暂停和冻结用户名在linux中,如何增加、修改、删除、暂停和冻结用户名在linux…

    2025年12月8日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号