SQL注入实验学习笔记

实操靶场地址:SQL注入实验一


根据指导书我们要先在实验机进入这个网址http://10.1.1.11:81

20201019145512_xrnervnppn.png


进入之后会看到三个实例。

20201019145523_910lmsq42x.png


实例一

根据指导书的提示来做这一题。后面两个实例也要看这个指导书。

20201019145531_noneiwalsv.png

先判断是否存在注入

方法一 在参数后面加上单引号,比如:

http://xxx/abc.php?id=1

如果页面返回错误,则存在 Sql 注入。 原因是无论字符型还是整型都会因为单引号个数不匹配而报错。当然还有可能加了’,和没加是一样的,这也有可能是注入。因为当把错误提示关闭时,它是不会在页面显示的。


方法二

构造 and 1 = 1 和 and 1 = 2

如果两个页面显示不一样,那么就说明存在注入了。

这里使用的是方法二。

20201019145605_1wj4lpsxmx.png

20201019150057_9bf1bhy7vk.png


两次显示不一样,存在注入。

猜测字段数

在后面加一个 %23或–+把后面的注释掉

使用order by 来对数据进行排序,我们可以从1开始测试或者使用均分法先从一个大的数据测,然后再分半。

先用5能出现数据

http://10.1.1.11:81/sqli/example1.php?name=root’ order by 5%23

20201019150116_iguj9aytgq.png


接着用6试一下

http://10.1.1.11:81/sqli/example1.php?name=root’ order by 6%23

20201019150139_vd2pdhj8oh.png


此时已经出错所以有5个字段

使用union联合注入,union 的作用是将两个 sql 语句进行联合,union 前后的两个 sql 语句的选择列数要相同才可以。

20201019150153_urq8fqwajq.png


猜字段内容

20201019150200_b7dsd2p4ea.png



实例二

这个实例的操作步骤和第一个实例的差不多,就是不能用空格,至于为什么不能用空格,可以看一下指导书

20201019150219_p6pfqm74mi.png


虽然说是少用空格但是出现空格就会报错,但在判断是否注入的时候不出现空格是可以的

20201019150229_a065chgmxx.png

20201019150234_5ok213sdds.png


在猜测字段数的时候以为把空格去掉就可以但其实是错的,因为之前没怎么做过sql注入的题目,所以就在网上搜索了一下怎样绕过空格。

有两个解决方法

20201019150250_le43lpw3ov.png


我是用的第一种方法。接下来的步骤和实验一的一样

猜测字段数

这个也是5个字段

20201019150256_f9h4us346s.png

20201019150302_ju0u37onej.png


猜字段内容

20201019150347_y6xxnhu7wo.png



实例三

实例三和实例二的操作方法完全相同。

看是否存在注入

20201019150403_tmrrgdiych.png

20201019150413_861j662bl7.png


猜测字段数

这里也是5

20201019150809_qrrrc3di4u.png

20201019150838_fo2ran1nfj.png

20201019150859_36lsoc50c9.png


猜测字段内容

20201019150448_scbf5ivn03.png


本文作者:合天网安实验室

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/144431.html

Tags:
评论  (0)
快来写下你的想法吧!

合天网安实验室

文章数:342 积分: 877

www.hetianlab.com,网络安全靶场练习平台,涉及CTF赛前指导、职业技能训练、网安专项技能提升等。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号