sql注入实践简述(上)

sql注入实践简述(上)

安全突出实践,是一门实践大于理论的学科

下面笔者将用两个靶场实战题目,简述web安全领域中sql注入的实践

靶场链接1:
sql数字型get注入
靶场链接2:
SQL字符型注入

靶场1:

sql注入实践简述(上)_第1张图片

看到id=1,很容易猜测到是否为注入点
判断如下(三步)
当输入id=1’,报错如下
sql注入实践简述(上)_第2张图片
当输入id=1 and 1=1
回显正常
sql注入实践简述(上)_第3张图片
当输入id=1 and 1=2
页面回显异常
sql注入实践简述(上)_第4张图片
到此可以判断id处存在注入点
(然后按照正常注入流程走)

  1. 测试注入是否存在
  2. 判断字段数
  3. 联合查询得出回显点
  4. 查询数据库及系统信息
  5. 列出当前所有库名
  6. 列出表名
  7. 列字段名
  8. 查字段内容

有点啰嗦。。。。。。。

判断字段数 order by
从1开始尝试,测试到3时正常,测试到4时异常。即可断定字段数为3。
sql注入实践简述(上)_第5张图片

sql注入实践简述(上)_第6张图片

测试出字段数为3时,可以通过联合查询UNION SELECT得出回显点,如下图

sql注入实践简述(上)_第7张图片
可知回显点为2,3 然后测试时,把测试语句放在2,3位置即可

下面用concat(),查询数据库信息及系统信息详情
这一步对于进一步做内网渗透测试至关重要,别笑
sql注入实践简述(上)_第8张图片
可以看出系统版本型号及数据库具体信息

下一步 用列出当前所有库名

sql注入实践简述(上)_第9张图片
可以看到当前库名

下一步 列出表名
sql注入实践简述(上)_第10张图片
这里需要注意的是库名要加上单引号或双引号
这时已经看到flag表名,近在咫尺

下一步 列字段名
sql注入实践简述(上)_第11张图片
下一步 查flag字段内容

sql注入实践简述(上)_第12张图片
flag到手

到此sql注入靶场1,讲述到此,读者可自行去练习一下

靶场2:

sql注入实践简述(上)_第13张图片
其实两种注入,大同小异。只不过第二种字符型注入,需要去闭合sql语句的括号,以及注释掉后面多余代码

1. 闭合要用 '
2. 注释要用 - -

现给出最终payload如下

http://www.whalwl.com:8005/bug/sql_injection/sql_string.php?title=1’ and 1=2 UNION SELECT 1,flag,3 from flag limit 0,1 – &submit=submit

sql注入实践简述(上)_第14张图片
flag到手

你可能感兴趣的:(sql注入实践简述(上))