我对SQL注入的了解——基础知识点(持续补充中...)

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
在这里插入图片描述
SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。

但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据,是高手与“菜鸟”的根本区别。


例如下面这个命令,他是从后台(数据库)取字段值,并核查输入的字段与数据库中的相应字段是否能匹配上,如果可以匹配上,即为成功,方可进行下一步的命令操作。

select * from user where uname="1" or 1=#" and pwd="$p"

系统性的学习要有系统性的进度引导:

一、SQL命令:

  1. 如何查询所有数据库
  2. 如何查询该库中的数据表
  3. 如何查询表中的字段

二、了解SQL注入:

  1. 为什么会产生SQL注入(通过两道题目)
  2. 了解常用的闭合符号γ(# --+ </**/>
  3. 联合查询注入的步骤

三、掌握sqlmap的基本使用

  1. 判断是否存在注入
    python sqlmap.py -u "url"
  2. 获取全部数据库
    python sqlmap.py -U URL --dbs
  3. 获取当前数据库
    python sqlmap.py -u URL --current-db
  4. 获取当 前数据库里所有表
    python sqlmap.py -u URL -D DB--tables
  5. 获取表的字段
    python sqlmap.py -u URL -D DB-T users - -columns
  6. 爆值
    python sqlmap.py -u URL -D DB-T users -C "password, username" --dump25

四、 了解python脚本


未完成,待补充…

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bosoun_ho

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值