741057228我QQ 发表于 2018-10-19 13:59:44

站点SQL注入问题分析及解决

  1、问题:网站被SQL注入,可以看到使用库、表、及数据情况
  2、解决:前后端加固,同时底层Sql查询一定要使用参数化
  注入分析使用工具:sqlmap
  一、安装sqlmap工具
  1、在安装前,需要先安装Python环境, 安装参考:http://blog.csdn.net/baigoocn/article/details/51456721 上面有说明
  2、下载sqlmap工具包,将文件放在Python环境的安装目录下的sqlmap目录中,
  输入sqlmap.py -h,查看信息提示安装成功
  3、常用的参数
  -u:指定注入点url
  --dbs:dbs前面有两条杠(所有数据库名称)
  --current-dbweb当前使用的数据库
  --current-user   web数据库使用账户
  --users    所有用户
  --passwords   数据库账户与密码
  -D tourdata --tables   -D:指定数据库名称    --tables:列出表
  -D tourdata -T userb --columns    -D:指定数据库名称   -T:指定要列出字段的表   --columns:指定列出字段
  -D tourdata -T userb -C "email,Username,userpassword" --dump   -C :指定要暴的字段--dump:将结果导出
  --start 1 --stop 10    指定导出特定范围的字段内容--start:指定开始的行--stop:指定结束的行
  (参考:http://blog.csdn.NET/zgyulongfei/article/details/41017493 )
  --current-db    --current-user

  D:\Python27\sqlmap>sqlmap.py -u http://xxx.com/cms/xxx_view.aspx?cpn_id=fb509dacdd224a179fde6e71e824ec95 --current-db

  --users

  -D FJHBA --tables

  还有通过更多的参数,来获取到相关的信息内容
  从以上的操作来执行,等同于数据就完全被查了,这个很危险!
  在写任何sql语句时,不允许使用拼接的方式!


  这种写法存在注入的风险
select * from tableA where col1 = '+ colId +';
  要改用参数形式:parameter

页: [1]
查看完整版本: 站点SQL注入问题分析及解决