0

0

如何实现手工SQL注入

WBOY

WBOY

发布时间:2023-05-20 19:13:30

|

2813人浏览过

|

来源于亿速云

转载

sql注入是***对数据库进行***的常用手段之一,其核心思想在于:***在正常的需要调用数据库数据的url后面构造一段数据库查询代码,然后根据返回的结果,从而获得想要的某些数据。接下来我们将利用sql注入漏洞,对已经构建好的***平台进行攻击,以获取网站管理员的账号和密码。目标服务器ip地址:192.168.80.129,***主机ip地址:192.168.80.128。

(1)寻找注入点

随便打开一个网页,注意观察URL。

如何实现手工SQL注入

注入点必定是类似“http://192.168.80.129/shownews.asp?id=7”这类存在命令调用的页面,“shownews.asp?id=7”是页面传值,就是将“id=7”传到“shownews.asp”页面里进行处理。

我们可以在这个URL后面加上and 1=1和and 1=2进行测试。

http://192.168.80.129/shownews.asp?id=7 and 1=1 ,网页仍能正常显示。

http://192.168.80.129/shownews.asp?id=7 and 1=2 ,网页无法正常显示。

这就表明“asp?”把我们自己加上的“and 1=1”也作为一个命令参数进行了调用,那我们就可以来构造一些SQL语句来被调用执行,从而得到需要的信息,这就是所谓的注入漏洞。像这样可以调用命令参数的网页就称为注入点。

(2)猜表名

***进行网站***的主要目的是获得网站管理员的用户名和密码,用户名和密码都是存放在后台数据库的某个表中,所以首先我们得猜出这个数据表的名字是什么。

表名用的最多的是admin和admin_user,我们可以在注入点URL的后面加上这样一条语句来猜表名:

http://192.168.80.129/shownews.asp?id=7 and (select count(*) from admin) > 0

“select count(*) from admin”的意思是统计admin表中有几条记录,如果admin表存在,那么这条语句就会得到一个数值。只要这个数值与0进行比较,结果就是正确的,因此网页应该能够正常显示。反之,如果admin表不存在,那么“select count(*) from admin”就得不到任何数值,跟>0比较,结果不成立,网页也就无法正常显示。

如果网页不能正常显示,可以再换一个表名进行尝试,直到正常显示为止:

http://192.168.80.129/shownews.asp?id=7 and (select count(*) from admin_user) > 0

http://192.168.80.129/shownews.asp?id=7 and (select count(*) from manage_user) > 0

这个网站的表名就是manage_user。

常见表名主要有:admin sysadmin manger admin123 webadmin member manage_user

注意:如果表名实在猜不出来,也可以使用明小子之类的工具来帮忙。

如何实现手工SQL注入

Shoping购物网源码
Shoping购物网源码

该系统采用多层模式开发,这个网站主要展示女装的经营,更易于网站的扩展和后期的维护,同时也根据常用的SQL注入手段做出相应的防御以提高网站的安全性,本网站实现了购物车,产品订单管理,产品展示,等等,后台实现了动态权限的管理,客户管理,订单管理以及商品管理等等,前台页面设计精致,后台便于操作等。实现了无限子类的添加,实现了动态权限的管理,支持一下一个人做的辛苦

下载

(3)猜字段的数量

下一步是猜这个表中哪个字段存放着用户名和密码,首先需要知道数据表中一共有几个字段。

这里要用到“order by”语句,“order by”的本意是按某个字段排序,“order by 10”就是按第10个字段排序,如果第10个字段存在,那么网页就会正常显示,否则如果网页无法正常显示,则表明第10字段不存在。

http://192.168.80.129/shownews.asp?id=7 order by 11

通过这种方法可以猜出这个表一共有11个字段。

(4)猜字段名

下一步是需要知道哪个字段存放着用户名和密码,这里用到“union select”联合查询语句。

http://192.168.80.129/shownews.asp?id=7 union select 1,2,3,4,5,6,7,8,9,10,11 from manage_user

这里会将存放用户名和密码的字段爆出。

如何实现手工SQL注入

存放用户名的字段一般叫username,存放密码的字段一般叫password,将第2和第3字段替换成这两个名字:

http://192.168.80.129/shownews.asp?id=7 union select 1,username,password,4,5,6,7,8,9,10,11 from manage_user

这时就将用户名和密码爆出了。

如何实现手工SQL注入

(5)猜后台管理入口

这个南方数据模板2.0版已经包括了一个名为“管理员登录”的链接。现在大多数网站不会这样设置的,所以这里一般要凭经验来猜,管理入口一般存放在名为admin的网站子目录下,输入下面的地址http://192.168.80.129/admin,就自动将管理入口显示出来了。

如何实现手工SQL注入

在这里就可以用之前爆出的管理员账号和密码来登录,但是密码“3acdbb255b45d296”很明显是经过MD5加密的。

相关专题

更多
C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

3

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

23

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

7

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

30

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

2

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

8

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

3

2026.01.15

php图片上传教程汇总
php图片上传教程汇总

本专题整合了php图片上传相关教程,阅读专题下面的文章了解更多详细教程。

2

2026.01.15

phpstorm相关教程大全
phpstorm相关教程大全

本专题整合了phpstorm相关教程汇总,阅读专题下面的文章了解更多详细内容。

4

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 3.4万人学习

SQL优化与排查(MySQL版)
SQL优化与排查(MySQL版)

共26课时 | 2.3万人学习

MySQL索引优化解决方案
MySQL索引优化解决方案

共23课时 | 2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号