zoukankan      html  css  js  c++  java
  • SQL服务器在执行这条语句时会先进行运算然后执行

    1、打开地址,我们可以看到是一个正常的页面。

    2.、然后在地址后面加上-1,变成:http://site/news.asp?id=123-1,若返回的页面和前面不同,是另一个正常的页面,则表示存在注入漏洞,而且是数字型的注入漏洞

    3、若在地址后面加上 -0,变成 http://site/news.asp?id=123-0,返回的页面和之前的页面相同,然后加上-1,返回错误页面,则也表示存在注入漏洞,而且是数字型的。

    4、若在地址后面加上’%2B’,变为:http://site/news.asp?id=123′%2B’,返回的页面和之前的相同;再加上’2%2B’sb,地址变为:http://site/news.asp?id=123′%2Bsb,返回另一个正常的页面,或者说未发现该条记录,或者错误,则表示存在注入漏洞,而且是文本型的。

    原因分析:

    如果SQL语句是这样执行的(数字):select * from news where id=2881064151

    当在后面加上 -1 后,语句变为select * from news where id=123-1

    但是SQL服务器在执行这条语句时会先进行运算123-1即为122,然后执行的是:select * from news where id=122

    这样选出来的就是另外一条页面记录了。如果该页面存在,就是另一个页面;否则将会显示记录不存在,或者出错。这也同时表示程序未对输入的数据进行过滤,存在数值型的注入漏洞。

    如果SQL语句是这样执行的(字符):select * from news where id=’123′

    在后面加上 ‘%2B’ 之后,语句变为:select * from news where id=’123′+” (%2B 是 + 的URL编码)

    这时SQL服务器实际执行的是:select * from news where id=’123′,会返回同样的页面。

    在后面加上 ‘%2B’sb之后,语句变为:select * from news where id=’123′+’sb’ (同样道理,SQL会先执行’123′+’sb’)

    则SQL实际执行的是:select * from news where id=’123sb’,返回页面不存在,或者显错,就表示有文本型的注入漏洞。

  • 相关阅读:
    Failed to parse PID from file /run/nginx.pid: Invalid argument
    Ubuntu16.04环境下bashrc文件位置
    virtualenvwrapper.sh报错: There was a problem running the initialization hooks.解决
    pip安装virtualenvwrapper报错的解决办法
    争鸣|函数性质的综合应用辨析
    总结|静雅斋之2020高考备考回顾总结
    2020年全国卷Ⅱ卷文科数学图片版
    奇怪|说好的求最大值变成了求最小值
    探究|平面向量探究题
    平面向量错误收集
  • 原文地址:https://www.cnblogs.com/cbryge/p/6223180.html
Copyright © 2011-2022 走看看