51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【周活动】 找茬--心里圈的故事 !【长期招募】博为峰网校招聘兼职讲师!横扫BAT,Python全栈测试开发技能大全
【109期】:python爬虫的魔力 !双11剁手不吃土,来投稿赚回血红包! 【专题】用尽一切办法只为让你学好用例 自学软件测试那点事
查看: 510|回复: 1

[转贴] WEB网络渗透的基础知识

[复制链接]

该用户从未签到

发表于 2019-4-3 15:07:47 | 显示全部楼层 |阅读模式
网络渗透

1.什么是网络渗透

网络渗透是攻击者常用的一种攻击手段,也是一种综合的高级攻击技术,同时网络渗透也是安全工作者所研究的一个课题,在他们口中通常被称为”渗透测试(Penetration Test)”。

网络渗透的目的

无论是网络渗透(Network Penetration)还是渗透测试(Penetration Test),其实际上所指的都是同一内容,也就是研究如何一步步攻击入侵某个大型网络主机服务器群组。只不过从实施的角度上看,前者是攻击者的恶意行为,而后者则是安全工作者模拟入侵攻击测试,进而寻找最佳安全防护方案的正当手段。
随着网络技术的发展,在政府、电力、金融、教育、能源、通信、制造等行业的企业网络应用日趋普遍,规模也日渐扩大。在各个公司企业网络中,网络结构越来越复杂,各种网络维护工作也极为重要,一旦网络出现问题,将会影响公司或企业的正常运作,并给公司或企业带来极大的损失。
在各种网络维护工作中,网络安全维护更是重中之重。各种网络安全事件频频发生,不时见诸于报纸头条和网络新闻,大型企业公司的网络也逃不过被攻击的命运。网络安全工作保障着网络的正常运行,避免因攻击者入侵带来的可怕损失。
为了保障网络的安全,网络管理员往往严格地规划网络的结构,区分内部与外部网络进行网络隔离,设置网络防火墙,安装杀毒软件,并做好各种安全保护措施。然而绝对的安全是不存在的,潜在的危险和漏洞总是相对存在的。

网络渗透攻击

面对越来越多的网络攻击事件,网络管理员们采取了积极主动的应对措施,大大提高了网络的安全性。恶意的入侵者想要直接攻击一个安全防御到位的网络,看起来似乎是很困难的事情。于是,网络渗透攻击出现了。
对于大型的网络主机服务器群组,攻击者往往不会采取直接的攻击手段,而是采用一些迂回渐进式的攻击方法,长期而有计划地逐步渗透攻击进入网络,并完全控制整个网络,这就是”网络渗透攻击”。

蚁穴

攻击者要直接通过设置森严的网络关卡进入网络是不可能的,然而无论怎么样设置网络,总会有一些或大或小的安全缺陷或漏洞。而攻击者所做的,就是在一个看似安全的网络上,找到一个小缺口,然后一步一步地将这些缺口扩大,扩大,再扩大,最终导致整个网络安全防线的失守,掌控整个网络的权限。
对网络管理员来说,网络上的某个小小的安全缺陷,就好似一个微不足道的”蚁穴”,然而忽略了对它的重视,最终的结果将十分可怕,它将会引发整个网络安全防御堤坝的全面崩塌。因此,作为网络管理员,完全有必要了解甚至掌握网络渗透入侵的技术,这样才能有针对性地进行防御,真正保障网络的安全。

普通攻击与渗透攻击

网络渗透攻击与普通攻击的不同
网络渗透攻击与普通网络攻击的不同在于,普通的网络攻击只是单一类型的攻击。
例如,在普通的网络攻击事件中,攻击者可能仅仅是利用目标网络的Web服务器漏洞,入侵网站更改网页,或者在网页上挂马。也就是说,这种攻击是随机的,而其目的也是单一而简单的。
网络渗透攻击则与此不同,它是一种系统渐进型的综合攻击方式,其攻击目标是明确的,攻击目的往往不那么单一,危害性也非常严重。
例如,攻击者会有针对性地对某个目标网络进行攻击,以获取其内部的商业资料,进行网络破坏等。因此,攻击者实施攻击的步骤是非常系统的,假设其获取了目标网络中网站服务器的权限,则不会仅满足于控制此台服务器,而是会利用此台服务器,继续入侵目标网络,获取整个网络中所有主机的权限。
为了实现渗透攻击,攻击者采用的攻击方式绝不仅此于一种简单的Web脚本漏洞攻击。攻击者会综合运用远程溢出、木马攻击、密码破解、嗅探、ARP欺骗等多种攻击方式,逐步控制网络。
总体来说,与普通网络攻击相比,网络渗透攻击具有几个特性:攻击目的的明确性,攻击步骤的逐步与渐进性,攻击手段的多样性和综合性。

1.如何进行渗透?

一、信息收集

1,获取域名的whois信息,获取注册者邮箱姓名电话等。
2,查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
3,查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞
4,查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
5,扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针
6,cookie hack google hack cookies edit 进一步探测网站的信息,后台,敏感文件
备注:根据悬镜安全团队多年的渗透测试实战经验得出:安全团队再进行渗透测试的时候,收集完相关的信息后,通过自动化的漏扫工具,进行进一步的问题发掘,然后通过扫描出来的漏洞以及自身的实战项目经验再进行深层次的漏洞挖掘,这也是为什么渗透测试比漏扫工具发现问题的深度和攻击面会更广。

二、漏洞扫描

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

三、漏洞利用

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

四、权限提升

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

五、 日志清理

日志清理是必要的工作

六、总结报告及修复方案

报告是安全漏洞结果展现形式之一,也是目前安全业内最认可的和常见的。每家安全团队在写渗透测试报告的都不一样,但大体展现的内容是一样的。那报告上都会有哪些内容呢?小编就拿悬镜安全团队做渗透测试的经验以及实际交付给客户的报告来分享下。

有的团队,特别是专业的安全渗透测试团队,报告首先有渗透测试人员产出,出来后由专业的文档品控人员对文档的质量再进行进一步的检查,这个过程不仅可以看出技术的专业度来,也可以看出团队文档的品质感。

那报告上都包括哪些内容?

首先是对本次网站渗透测试的一个总概括,发现几个漏洞,有几个是高危的漏洞,几个中危漏洞,几个低危漏洞。

然后对漏洞进行详细的讲解,比如是什么类型的漏洞,漏洞名称,漏洞危害,漏洞具体展现方式,修复漏洞的方法。

01.sqlmap,怎么对一个注入点注入?

1.如果是get型号,直接,sqlmap -u “诸如点网址”.
2. 如果是post型诸如点,可以sqlmap -u “注入点网址” – data=”post的参数”
3.如果是cookie,X-Forwarded-For等,可以访问的时候,用burpsuite抓包,注入处用*号替换,放到文件里,然后sqlmap -r “文件地址”

02.nmap,扫描的几种方式

sql注入的几种类型?
1.报错注入
2.bool型注入
3.延时注入
4.宽字节注入

03.盲注和延时注入的共同点?

都是一个字符一个字符的判断

04.如何拿一个网站的webshell?

上传,后台编辑模板,sql注入写文件,命令执行,代码执行, 一些已经爆出的cms漏洞,比如dedecms后台可以直接建立脚本文件,wordpress上传插件包含脚本文件zip压缩包等
sql注入写文件都有哪些函数?
select ‘一句话’ into outfile ‘路径’
select ‘一句话’ into dumpfile ‘路径’
select ” into dumpfile ‘d:wwwroothttp://baidu.co\nvhack.php’;

05.如何防止CSRF?

1,验证referer
2,验证token
详细:浅谈cnode社区如何防止csrf攻击 - CNode技术社区

06.owasp 漏洞都有哪些?

1、SQL注入防护方法:
2、失效的身份认证和会话管理
3、跨站脚本攻击XSS
4、直接引用不安全的对象
5、安全配置错误
6、敏感信息泄露
7、缺少功能级的访问控制
8、跨站请求伪造CSRF
9、使用含有已知漏洞的组件
10、未验证的重定向和转发

07.SQL注入防护方法?

1、使用安全的API
2、对输入的特殊字符进行Escape转义处理
3、使用白名单来规范化输入验证方法
4、对客户端输入进行控制,不允许输入SQL注入相关的特殊字符
5、服务器端在提交数据库进行SQL查询之前,对特殊字符进行过滤、转义、替换、删除。

08.代码执行,文件读取,命令执行的函数都有哪些?

1,代码执行:eval,pregreplace+/e,assert,calluserfunc,calluserfuncarray,create_function
2,文件读取:filegetcontents(),highlightfile(),fopen(),read file(),fread(),fgetss(), fgets(),parseinifile(),showsource(),file()等
3,命令执行:system(), exec(), shellexec(), passthru() ,pcntlexec(), popen(),proc_open()
img标签除了onerror属性外,还有其他获取管理员路径的办法吗?
src指定一个远程的脚本文件,获取referer
img标签除了onerror属性外,并且src属性的后缀名,必须以.jpg结尾,怎么获取管理员路径。

09.绕过walf

1、关键字可以用%(只限IIS系列)。
比如select,可以sel%e%ct。
原理:网络层waf对SEL%E%CT进行url解码后变成SEL%E%CT,匹配select失败,而进入asp.dll对SEL%E%CT进行url解码却变成select。
IIS下的asp.dll文件在对asp文件后参数串进行url解码时,会直接过滤掉09-0d(09是tab键,0d是回车)、20(空格)、%(后两个字符有一个不是十六进制)字符。xss也是同理。
2、编码。这个方法对waf很有效果,因为一般waf会解码,但是我们利用这个特点,进行两次编码,他解了第一次但不会解第二次,就bypass了。腾讯waf、百度waf等等都可以这样bypass的。
3、绕过策略一:伪造搜索引擎
4、360webscan脚本存在这个问题,就是判断是否为admin dede install等目录,如果是则不做拦截
5、multipart请求绕过,在POST请求中添加一个上传文件,绕过了绝大多数WAF。
6、参数绕过,复制参数,id=1&id=1
用一些特殊字符代替空格,比如在mysql中%0a是换行,可以代替空格,这个方法也可以部分绕过最新版本的安全狗,在sqlserver中可以用/**/代替空格
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2019-12-13 22:23 , Processed in 0.059906 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2019 Comsenz Inc.

快速回复 返回顶部 返回列表