软件渗透性测试_app渗透测试越权漏洞

hacker|
163

如何进行渗透测试才有可能登录到数据库服务器的远程终端

新建一个文本文件,更改扩展名为aabb.udl双击此文件,选数据库类型、设置ip、用户名、密码,数据库可进行连接测试 ,当然对方要开sql服务的测试成功后,点确定将这个文件以文本方式打开, 里面有连接字符串,装sql 查询分析器。

怎样测试app是否存在广告注入隐患

常见的基础安全漏洞检测 ***

1、XSS漏洞

在前端一些可以输入的内容的地方,输入:scriptalert(document.cookie)/script

然后查看触发,检查对这些语句是否进行了转义处理,如果出现一些弹框之类,那就存在漏洞。

2、SQL注入漏洞

在一些存在查询功能的地方,输入一些字符,查看是否会直接显示SQL错误信息。SQL注入检测也可以借助工具,工具名称:sqlmap;比如命令:sqlmap.py -u 目标URL -dbs

3、越权问题

通过抓包获取一些请求包,特别注意包体中含有可遍历的xx_id字段的一些请求;通过修改xx_id重新发送请求,检查是否进行了用户权限控制

4、敏感信息明文传输漏洞

经常在一些登录、重置密码、交易接口中,通过抓包,检查包体内的敏感信息,是否进行了加密处理。

5、未授权访问漏洞

APP安全测试检测点

1、任意账号注册类漏洞

进入注册页面,输入任意未注册的账号等信息,

然后将Burpsuite抓包工具,设置为on模式,进行请求拦截,前端点击发送验码之后,将拦截的包体信息做修改。

2、反编译APK安装包,借助工具jd-gui

3、Apk shared_prefs存储用户凭证文件检查是否明文显示

需要借助adb shell命令查看,操作步骤见文档《monkey test操作手册》

这里介绍的几种漏洞的类型以及检测的 *** ,更多的还需要在实践中不断地去积累。漏洞检测的目的在于发现漏洞,修补漏洞,进而从根本上提高信息系统的安全性,以致从根本上减少安全事件的发生。

想问一下大家都是怎么做渗透测试的呢?

这个要根据个人的实际情况来决定的,比如你先要去了解什么是渗透测试:

1、渗透测试属于信息安全行业,准确的说是 *** 计算机/IT行业

2、现在你知道了它的行业属性,那么你是否具备一些这个行业的知识呢?

3、具备的话学习起来比较简单,直接去学习渗透测试实战就行,不具备接着往下看

4、现在知道它行业属性,你大概就能清楚需要些什么样的基础知识了;下面是我从非计算机 *** 相关专业的同学想要学习渗透测试必须掌握的知识。

5、前期入门大概需要掌握或者说了解以下知识点:

1)了解基本的 *** 知识,例如什么是IP地址(63.62.61.123)去掉点是 *** 学习群,IP地址的基本概念、IP段划分、什么是A段、B段、C段等2)广域网、局域网、相关概念和IP地址划分范围。

3)端口的基本概念?端口的分类?

4)域名的基本概念、什么是URL、了解TCP/IP协议、

5)了解开放式通信系统互联参考模型(OSI)

6)了解http(超文本传输协议)协议概念、工作原理

7)了解WEB的静态页面和WEB动态页面,B/S和C/S结构

8)了解常见的服务器、例如、Windows server2003、Linux、UNIX等

9)了解常见的数据库、MySQL、Mssql、、Access、Oracle、db2等

10)了解基本的 *** 架构、例如:Linux + Apache + MySQL + php

11)了解基本的Html语言,就是打开网页后,在查看源码里面的Html语言

12)了解一种基本的脚本语言、例如PHP或者asp,jsp,cgi等

然后你想学习入门,需要学习以下最基础的知识:

1、开始入门学习路线

1)深入学习一种数据库语言,建议从MySQL数据库或者SQL Server数据库、简单易学且学会了。

其他数据库都差不多会了。

2)开始学习 *** 安全漏洞知识、SQL注入、XSS跨站脚本漏洞、CSRF、解析漏洞、上传漏洞、命令执行、弱口令、万能密码、文件包含漏洞、本地溢出、远程溢出漏洞等等

)工具使用的学习、御剑、明小子、啊D、穿山甲(Pangolin)、Sqlmap、burpsuite抓包工具等等

2、Google hacker 语法学习

3、漏洞利用学习、SQL注入、XSS、上传、解析漏洞等

4、漏洞挖掘学习

5、想成为大牛的话、以上都是皮毛中的皮毛,但前提是以上的皮毛都是最基础的。

6、Linux系统命令学习、kali Linux 里面的工具学习、Metesploit学习

7、你也可以找一些 *** 群去和大佬交流,比如上面的IP去掉点就是,里面有很多的教程。

8、没事多逛逛安全论坛、看看技术大牛的文章、漏洞分析文章等

网站渗透测试,怎么进行

1.信息收集:

1)、获取域名的whois信息,获取注册者邮箱姓名 *** 等。

2)、查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。

3)、查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞。

4)、查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。

5)、扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针。

6)、google hack 进一步探测网站的信息,后台,敏感文件。

2.漏洞扫描:

开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等。

3.漏洞利用:

利用以上的方式拿到webshell,或者其他权限。

4.权限提升:

提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉, linu *** 牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权。

5.日志清理:

结束渗透测试工作需要做的事情,抹除自己的痕迹。

需要规避的风险:

1. 不执行任何可能引起业务中断的攻击(包括资源耗竭型DoS,畸形报文攻击,数据破坏)。

2. 测试验证时间放在业务量最小的时间进行。

3. 测试执行前确保相关数据进行备份

4. 所有测试在执行前和维护人员进行沟通确认。

如何进行Web渗透测试

什么是渗透测试?

渗透测试,是渗透测试工程师完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标 *** 、主机、应用的安全作深入的探测,发现系统最脆弱的环节。

如何进行Web渗透测试?

完整web渗透测试框架当需要测试的web应用数以千计,就有必要建立一套完整的安全测试框架,流程的更高目标是要保证交付给客户的安全测试服务质量。

1、立项:项目建立,时间安排,人力分配,目标制定,厂商接口人确定;

系统分析威胁分析:针对具体的web应用,分析系统架构、使用的组件、对外提供的接口等,以STRIDE为威胁模型进行对应的安全威胁分析,输出安全威胁分析表,重点关注top3威胁;

制定测试用例:根据威胁分析的结果制定对应的测试用例,测试用例按照模板输出,具备可执行性;

测试执行漏洞挖掘:测试用例执行发散测试,挖掘对应的安全问题or漏洞;

问题修复回归测试:指导客户应用开发方修复安全问题or漏洞,并进行回归测试,确保安全问题or漏洞得到修复,并且没有引入新的安全问题;

项目总结评审:项目过程总结,输出文档评审,相关文档归档。

2、Web应用的渗透测试流程

主要分为3个阶段,分别是:信息收集→漏洞发现→漏洞利用,下面仔细分析一下各个阶段流程:

一、信息收集

在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等

脚本语言的类型:常见的脚本语言的类型包括:php、asp、aspx、jsp等

测试 *** :

1 爬取网站所有链接,查看后缀

2 直接访问一个不存在页面后面加不同的后缀测试

3 查看robots.txt,查看后缀

服务器的类型:常见的web服务器包括:apache、tomcat、IIS、ngnix等

测试 *** :

1 查看header,判断服务器类型

2 根据报错信息判断

3 根据默认页面判断

目录的结构:了解更多的目录,可能发现更多的弱点,如:目录浏览、代码泄漏等。

测试 ***

1 使用字典枚举目录

2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取

3 查看robots.txt是否泄漏

使用的开源软件:我们如果知道了目标使用的开源软件,我们可以查找相关的软件的漏洞直接对网站进行测试。

测试 ***

指纹识别( *** 上有很多开源的指纹识别工具)

数据库类型:对于不同的数据库有不同的测试 *** 。

测试 ***

1 使应用程序报错,查看报错信息

2 扫描服务器的数据库端口(没做NAT且防火墙不过滤时有效)

所有链接页面:这个跟前面的获取目录结构类似,但是这个不只是获取网站的所有功能页面,有时候还可以获取到管理员备份的源码。

测试 ***

1 使用字典枚举页面

2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取

3 查看robots.txt是否泄漏

用到的框架:很多网站都利用开源的框架来快速开发网站,所以收集网站的框架信息也是非常关键的。

测试 ***

指纹识别( *** 上有很多开源的指纹识别工具)

二、漏洞发现

在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。

关于开源软件的漏洞发现

开源的软件:常见的开源软件有wordpress、phpbb、dedecms等

开源的框架:常见的开源框架有Struts2、 Spring MVC、ThinkPHP等

中间件服务器:常见的中间件服务器有jboss、tomcat、Weblogic等

数据库服务:常见的数据库服务mssql、mysql、oracle、redis、sybase、MongoDB、DB2等

对于开源软件的测试 ***

1 通过指纹识别软件判断开源软件的版本信息,针对不同的版本信息去开放的漏洞数据库查找相应版本的漏洞进行测试

2 对于默认的后台登录页、数据库服务端口认证等入口可以进行简单的暴力破解、默认口令尝试等操作

3 使用开源的漏洞发现工具对其进行漏洞扫描,如:WPScan

关于自主开发的应用

手动测试:这个阶段,我们需要手工测试所有与用户交互的功能,比如:留言、登入、下单、退出、退货、付款等操作

软件扫描:使用免费的软件扫描,如:appscan、wvs、netsparker,burp等

可能存在的漏洞

Owasp关键点

代码安全之上传文件

代码安全之文件包含

代码安全之SSRF

逻辑漏洞之密码重置

逻辑漏洞之支付漏洞

逻辑漏洞之越权访问

平台安全之中间件安全

三、漏洞利用

针对不同的弱点有不同的漏洞利用方式,需要的知识点也比较多。一般这个阶段包括两种方式,一种是手工测试,一种是工具测试

手工测试

手工测试是通过客户端或服务器访问目标服务,手工向目标程序发送特殊的数据,包括有效的和无效的输入,观察目标的状态、对各种输入的反应,根据结果来发现问题的漏洞检测技术。手工测试不需要额外的辅助工具,可由测试者独立完成,实现起来比较简单。但这种 *** 高度依赖于测试者,需要测试者对目标比较了解。手工测试可用于Web应用程序、浏览器及其他需要用户交互的程序。

这种方式对于有特殊过滤等操作,或者 *** 上没有成型的利用工具的时候可以使用。

工具测试

*** 上有很多好用的免费利用工具,比如针对sql注入的sqlmap、针对软件漏洞的matesploit等。

开发怎样防止渗透测试

基本上,参加的安全测试(渗透测试)的网站,可能或多或少存在下面几个漏洞:SQL注入漏洞、跨站脚本攻击漏洞、登录后台管理页面、IIS短文件/文件夹漏洞、系统敏感信息泄露。

测试的步骤及内容

这些安全性测试,据了解一般是先收集数据,然后进行相关的渗透测试工作,获取到网站或者系统的一些敏感数据,从而可能达到控制或者破坏系统的目的。

之一步是信息收集,收集如IP地址、DNS记录、软件版本信息、IP段等信息。可以采用 *** 有:

1)基本 *** 信息获取;

2)Ping目标 *** 得到IP地址和TTL等信息;

3)Tcptraceroute和Traceroute 的结果;

4)Whois结果;

5)Netcraft获取目标可能存在的域名、Web及服务器信息;

6)Curl获取目标Web基本信息;

7)Nmap对网站进行端口扫描并判断操作系统类型;

8)Google、Yahoo、Baidu等搜索引擎获取目标信息;

9)FWtester 、Hping3 等工具进行防火墙规则探测;

10)其他。

第二步是进行渗透测试,根据前面获取到的数据,进一步获取网站敏感数据。此阶段如果成功的话,可能获得普通权限。采用 *** 会有有下面几种

1)常规漏洞扫描和采用商用软件进行检查;

2)结合使用ISS与Nessus等商用或免费的扫描工具进行漏洞扫描;

3)采用SolarWinds对 *** 设备等进行搜索发现;

4)采用Nikto、Webinspect等软件对Web常见漏洞进行扫描;

5)采用如AppDetectiv之类的商用软件对数据库进行扫描分析;

6)对Web和数据库应用进行分析;

7)采用WebProxy、SPIKEProxy、Webscarab、ParosProxy、Absinthe等工具进行分析;

8)用Ethereal抓包协助分析;

9)用Webscan、Fuzzer进行SQL注入和XSS漏洞初步分析;

10)手工检测SQL注入和XSS漏洞;

11)采用类似OScanner的工具对数据库进行分析;

12)基于通用设备、数据库、操作系统和应用的攻击;采用各种公开及私有的缓冲区溢出程序代码,也采用诸如MetasploitFramework 之类的利用程序 *** 。

13)基于应用的攻击。基于Web、数据库或特定的B/S或C/S结构的 *** 应用程序存在的弱点进行攻击。

14)口令猜解技术。进行口令猜解可以采用 X-Scan、Brutus、Hydra、溯雪等工具。

第三步就是尝试由普通权限提升为管理员权限,获得对系统的完全控制权。在时间许可的情况下,必要时从之一阶段重新进行。采用 ***

1)口令嗅探与键盘记录。嗅探、键盘记录、木马等软件,功能简单,但要求不被防病毒软件发觉,因此通常需要自行开发或修改。

2)口令破解。有许多著名的口令破解软件,如 L0phtCrack、John the Ripper、Cain 等

以上一些是他们测试的步骤,不过我们不一定要关注这些过程性的东西,我们可能对他们反馈的结果更关注,因为可能会爆发很多安全漏洞等着我们去修复的。

0条大神的评论

发表评论