美文网首页
2018-06-17

2018-06-17

作者: 颜颜的 | 来源:发表于2018-06-17 16:37 被阅读0次

    接口测试之SQL注入

    首页我们先熟悉一下什么是接口SQL注入:就是通过把SQL命令插入到接口参数中,通过接口传达到服务器,欺骗服务器执行恶意的SQL命令。

    比如在一个登录界面,要求输入用户名和密码:

    可以这样输入实现免帐号密码登录:

    用户名: user’--

    密 码:12345

    点登陆,如若没有做特殊处理, 从理论上说,后台认证程序中会有如下的SQL语句:

    String sql ="select * from user_table here username=

    '"+userName+" ' and password=' "+password+" '";

    当输入了上面的用户名和密码,上面的SQL语句变成:

    SELECT * FROM user WHERE username = ‘user’-- ‘AND password = ’12345‘ 

    分析SQL语句:

    ‘-- ’后面都被注释掉了,相当于:

    SELECT * FROM user WHERE username = ‘user’ 

    此时就是只要存在这个用户就可以登录成功。这是一个相对善良的注入,如果注入一些删表等语句后果就可想而知了。

    接口-SQL注入测试方法:

    1. 工具扫描(SQLmap , Pangolin等)

    2.手动参数配置为特殊字符或SQL脚本。

    安装:

    1.先安装python环境,再执行下面命令:

    git clonehttps://github.com/sqlmapproject/sqlmap.git

    检测是否可注入命令:

    Python sqlmap.py–u ‘URL’ --

    结果查看:post

    parameter ‘id’ does not seem to injectable表示检查的接口是不可攻击的。

    可攻击样例:待补充

    相关文章

      网友评论

          本文标题:2018-06-17

          本文链接:https://www.haomeiwen.com/subject/zapweftx.html