手动SQL注入(盲注)讲解

时间:2024-05-18 19:54:16

由于很多人(特别是针对初学者)在百度查找相关的SQL盲注的文章时总感觉无法得到一篇很基础,很完整的文章,所以在这里讲解一篇完整的SQL注入文章

1 查找源码之家等网站进行下载一个网站, 在这里我下载的ASP制作的网站

(1) 打开源码之家的官网:https://www.mycodes.net/ 如下图,都是可以下载的。
手动SQL注入(盲注)讲解
(2)随便下载一个网站后,解压文件并且复制到自己建立的目录下面,然后运行测试工具(这相当于把网站部署到自己的IIS上了,不需要布置了,网站的URL地址为:你自己的电脑的IP地址加上后面的端口号就可以访问了,我这个端口号就是第三幅图中的51264)
手动SQL注入(盲注)讲解手动SQL注入(盲注)讲解手动SQL注入(盲注)讲解(3)你也可以通过其他的设备输入IP:端口号进行访问,如手机端输入192.168.100.9:51264可以访问到该网站。
手动SQL注入(盲注)讲解

2.下面我们开始SQL注入讲解(我使用的是另外的也是 从源码之家下载的ASP网站)

(1)查找注入点:先访问网站http://192.168.8.251:99(通上面说的一样IP:端口号),然后可以看见页面正常显示,随后在网站的后面加入**?id=1** ,使网站网址http://192.168.8.251:99 ?id=1,然后可以看见网页也显示正常,并且跳转到http://192.168.8.251:99/Company.asp?id=1界面,同理测试一下id=2的,直到页面显示不一样。
手动SQL注入(盲注)讲解
(2)输入And 1=1 页面显示正常,如果页面如下图显示,说明你的网站不能注入,就是人家已经进行了防御 手动SQL注入(盲注)讲解(3)如果页面显示正常如下所示,说明可以进行SQL注入
手动SQL注入(盲注)讲解

(4)当and 1=2 页面显示和and 1=1出现数据不一样
手动SQL注入(盲注)讲解(5)判断当前页面使用的数据库中的表定义了几个字段。http://127.0.0.1:99/Company.asp?id=1 order by 1
手动SQL注入(盲注)讲解(6)尝试order by 2,还是显示正常
手动SQL注入(盲注)讲解(7)当执行order by 9的时候页面非正常,由此判断出表共有8个字段,可以看见已经显示没有添加相关内容,说明表有8个字段(这个意思应该懂吧,比如说一个表需要用户名、密码等等信息,而这个8就是有用户名、密码、年龄这种字段有8个)
手动SQL注入(盲注)讲解(8)把表的字段判断完之后我们来通过暴力**的方式来判断数据库中的表名:通过把网站常用表名称作为词典,或者去下载词典,然后使用hydra等暴力**软件进行**得出表名称(此处省略了这个过程),最后通过暴力**我们得出了表的名称,我们在这里使用exists(seleect * from 表名称)一直运行网页直到把表名称确定下来(也就是暴力**
手动SQL注入(盲注)讲解当测试http://127.0.0.1:99/Company.asp?id=1 and exists(select 这里用“星号” from nwebadmin) 页面显示正常,说明我们**得到表的名称为nwebadmin
结论:数据库中存在nwebadmin表,数据库中不存在XX。思路是把表名处理成变量,用字典的暴力**的思路去得到表名。
(9)判断完表名称后,我们已经获取了8个字段,表名称为nwebadmin的信息,然后我们来判断表中的字段名字(刚刚只是确定了有8个字段,现在需要判断这8个字段名称到底是啥),同理,把字段名作变量进行字典暴力**。如下图,把xx作为字典,然后进行暴力**得到字段名称。
手动SQL注入(盲注)讲解(10)猜解的字段id username password),然后我们一个一个替换xx的位置,可以看见获取到相应的信息,说明username,id和password是表的字段名称,其他的我们就不用了,因为对于我们来说,用户名和密码是最重要的,

(11)获取了username,id和password之后,我们http://127.0.0.1:99?id=1 and 1=1 union select 1,2,3,4,5,6,7,8 from nwebadmin来运行网页,可以看见网页输出了2和3。
手动SQL注入(盲注)讲解(12)下面我们把2,3和位置换成上面的我们获取的字段名用户名username和密码password,即可看见页面输出相应的信息,admin和一串不认识的东西,很显然,那个不认识的东西就是所谓的password,那我们怎么样才能知道那个密码是多少呢?
手动SQL注入(盲注)讲解(13)其实,我们都很清楚,这个数据库的密码是通过MD5进行加密的,所以在这里,我们直接复制加密后 这个东西,然后进行MD5解码,直接百度就行。将密码进行**后,得到用户的密码为admin888 ,SQL注入就完成了
手动SQL注入(盲注)讲解

下面是简单的使用

(1)现在,我们获取到了用户名admin和密码admin888,我们使用获取的用户名和密码进行登录后台,
手动SQL注入(盲注)讲解(2)登录后,进行文件上传(这里的话肯定是上传木马咯),把我们编写好的木马后缀名改为jpg,然后进行上传
手动SQL注入(盲注)讲解(3)运行木马文件,这个正常的界面
手动SQL注入(盲注)讲解(4)打开中国菜刀,右键新建,输入目标地址,然后可以直接运行
手动SQL注入(盲注)讲解(5)可以清楚地看见服务器上的所有文件,可以进行下载和使用。这只是简单的SQL注入和使用中国菜刀进行一句话木马的连接,就可以获取服务器上的所有资源,可见危害之大。

手动SQL注入(盲注)讲解(6)木马的内容是一句话木马。
手动SQL注入(盲注)讲解
第一次尝试写博客,还是有点激动和紧张的,后面我打算讲解一些Kali的简单使用,有兴趣的小伙伴可以关注我,如果有需要工具的可以留言(尽量是QQ邮箱),我会私发给你!