分类
mysql

SQL注入场景

一、SQL注入场景:SQL注入攻击是未将代码与数据进行严格的隔离,导致在读取用户数据的时候,错误的吧数据作为代码的一部分执行,从而导致一些安全问题。

  1. 通过url地址:

    当用户发送GET请求:
        http://www.xxx.com/news.jsp?id=1
    这是一个新闻详情页面,会显示出新闻的title和content,程序内部会接收这个id参数传递给SQL语句,SQL如下:
        SELECT title,content FROM news WHERE id = 1
    这是SQL的原义,也是程序员想要得到的结果,但是如果用户改变了id的内容,修改成如下:
        http://www.jd.com/news.jsp?id=1 and 1=2 UNION SELECT userna-me, password FROM admin
    此时内部程序执行的SQL语句为:
        SELECT title,content FROM news WHERE id = 1 and 1=2 UNION SELECT username, password FROM admin

    这条SQL的原义就会被改变,导致将管理员数据表中的用户名显示在页面title位置,密码显示在页面content位置,攻击成功。

发表评论

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