快捷搜索:  网络  渗透  后门  CVE  扫描  木马  黑客  as

WEB安全小白入坑笔记

微信群里有小伙伴问web渗透排泄应该咋入门?web代码审计应该咋入门?是否是学渗透排泄主若是把握扫描工具能验证漏洞就可以了?

实在呢套哥认为,渗透排泄以及代码审计虽然是两个方向,然则对于做安全的小伙伴是一归事。

殊途同回

两条路子终极效果是同样的:

只有看得懂代码了解漏洞道理才能因时制宜在复杂的环境下做好渗透排泄测试,也只有具备了一定黑盒渗透排泄测试经验才能更快更准确的发现问题点并能在代码审计后写出完善的poc把漏洞行使的淋漓绝致。

所以说学好web安全就一定要渗透排泄测试要领以及代码道理都要学习。

那到底web安全该怎么入门呢,套哥的建议是:

一、先了解一个web体系是怎么运行的,譬如一个消息发布体系(cms)、在线商城体系、收集办公体系是怎么样搭建并运行起来的。

2、然后了解这些体系都有哪些功能以及营业逻辑,这些功能以及营业逻辑的大概完成道理。

三、对常见web体系漏洞要熟知其道理、成因、风险、测试要领等(如:收集设备、操作体系、中间件、数据库、web程序、营业逻辑)

四、结合详细体系的各个功能以及环节匹配可能存在的漏洞,并进行测试,终极形成测试讲演或手艺总结

其中呢:一、2属于基础,三、4需要积累。

套哥先给小白说说基础哈,后面的有机会咱们坐下来慢慢来掰扯掰扯。

有的小伙伴可能会说我是要做web安全的,了解“收集设备、操作体系、中间件、数据库”这些有必要么?

咱们先不说谜底,先来看看一个web体系是咱们运行的。

起首呢,这个web体系得有他的功能,也就是有他的营业逻辑,譬如是一个消息发布体系照样一个商城体系……

其次呢,要完成这个营业逻辑就必须要靠编写web脚本程序的应用代码来完成,光有代码照样不够的,必要的时辰还要稀有据库来存放营业数据,譬如,你用php完成了一个留言本体系,那么用户的留言信息就可以存放在mysql数据库中。

第三呢,web程序要运行起来必须有运行环境,不论是iis,照样Apache,照样tomcat得有一个web中间件来运行web脚本。

第四呢,不论是什么中间件或者数据库要运行起来就不能没有操作体系环境,譬如你在windows上搭建iis+SQL Server的web环境,或者在centos上搭建Apache+php+mysql的web环境,都要有操作体系作为基础。第五呢,有个操作体系搭建好了web体系,那么要联网运行,就必须通过收集设备接入到互联网中,所以呢,收集设备及环境是必不可少的。

看了上面这些,我不说你也知道谜底了,web体系安全在广义上是比较周全的。因为任何一个环节出了问题,都会影响全部体系的安全。

所以说,“殊途同回”不论你现在是在做黑盒渗透排泄测试的,WEB黑客,照样在做代码审计的,只需我们的目标是做WEB安全,那么上面说的这些就都需要把握。

第一部分:基础环境的安全

收集设备、操作体系、中间件、数据库这几个基础环境比较相似,可能存在的问题主若是弱口令以及低版本漏洞,存在的危害就是基础环境被控制,相比web脚本的漏洞,这部分的风险是更为严重的,譬如,操作体系存在治理员账号弱口令或者存在遥程缓冲区溢出漏洞可以命令执行,攻击者就可以对服务器进行控制了,要是权限设置欠妥被攻击者拿到了体系治理员权限,那这个服务器上的web体系就面临着任人分割的危害了,因为所有代码、数据都跑在服务器上,一旦拿到服务器操作体系的最高权限,代码、数据就都可以任意读取或更改了。

那么像如许的安全隐患需要怎么检测呢,之前在《我是工具党!我骄傲!》一文中提到了一些检测工具,譬如NESSUS、NMAP、OpenVAS等,都可以对这部分的基础环境进行安全扫描。

可以发现这部分的漏洞有以下特点:

一、“挖掘难度大”,对于小白来说基本上是望而却步的,所以刚入坑的小伙伴可以先把握检测以及验证的要领。

2、“验证危害大”,对于弱口令还好说,要是是漏洞,如缓冲区溢出漏洞等漏洞,在验证的时辰极可能会对目标体系造成一些损坏,因此验证的时辰要格外小心,对于小白来说要多网络一些经常使用的可靠的漏洞验证及行使poc。

基于以上特点,入坑的小白需要数量把握常规漏洞扫描器的使用,及漏洞验证及行使工具的使用。

扫描器:体系扫描最少要熟练把握:NESSUS、NMAP、OpenVAS等

漏洞行使:最少要熟练把握:Metasploit等

并且也要网络以及积累经常使用漏洞验证的poc代码,有的小伙伴可能要问了

“常见的基础环境的漏洞基本都可以用Metasploit来验证以及行使啊,为什么还要再网络一份呢?”

呃……这个是对的,Metasploit确凿很强盛,但对于一些漏洞在行使方面,中选择不同参数或者不同payload及shellcode的时辰极可能会让目标体系崩溃,所以照样建议积累一些常见漏洞的稳定行使代码比较好。

总结一下:入坑小白要做到“用患了扫描,验患了漏洞”。

第二部分:web程序脚本安全

web程序漏洞首要可以参考owasp top 10,每一隔几年owasp都会更新top 10漏洞的排名,截止2017排名以下:

1.png

插图1

具体可参考http://www.owasp.org.cn/owasp-project/OWASPTop102017RC2.pdf

这个文档里都有具体的说明,套哥就不久不多说了,这部分与基础环境的漏洞照样有区分的,基础环境漏洞的检测及验证要领比较固定,但web程序脚本漏洞的检测就比较多样了,因为不同的程序代码的完成要领各不相同,导致同一个漏洞可能存在不同的表现情势,譬如sql注入漏洞,存在漏洞的参数可能在http数据包的get要求中,也可能在post要求中、还可能在cookies和其他字段中,这个参数可能未经处理直接拼接成sql语句进行数据操作,也可能经过编码或者过滤后再拼接成sql语句进行数据操作……这每种情形下对于漏洞检测来说需要组织的验证代码都不大一致,因此有些扫描器就有可能漏报或者误报,那么及需要我们进行手工测试了。

总结一下:入坑小白要做到

一、对常见web应用程序漏洞owasp top 10的道理要深入了解

2、见web扫描器要数量使用

三、对http协定各个字段及参数要数量把握

四、对于常见web漏洞要能结合不同测试环境进行手工测试及验证

五、网络并阐发常见web应用程序(cms、shop、oa等)的漏洞行使poc并把握其道理

第三部分:营业逻辑安全

营业逻辑就要结合详细营业体系来说了,当然也能总结出一些通用的部分,譬如:

一、用户登录逻辑

2、暗码找归逻辑

三、用户越权逻辑

四、验证码机制逻辑等等

这部分的漏洞也是有一定特点的:

一、与营业功能结合慎密

2、扫描器基本无能为力,需要手工测试

譬如用户越权来说,当a用户正常上岸以后,会生成a的用户标识,在用户a向体系要求数据的时辰,会带上用户标识以便体系找到是谁在要求数据(譬如用户a的标识是“user=a”),然后web体系接收到要求后会判定用户标识字段发现是a的要求,就会把a的数据反馈给用户。那么要是体系并没有对用户a发来的要求做进一步的身份验证,当用户a将标识改成“user=b”的时辰想web体系发送数据要求的时辰,体系就颇有可能将b的数据反馈给a。要是使用脚本对所有效户进行遍历提交,就可能获得体系中所有效户的数据。

经常使用的手工测试工具有:Burp Suite、Fiddler等,其中Burp Suite功能比较周全,推荐使用。

这部分测试的时辰通常关注http数据包的发送、返归包中的各个字段变迁,再结合营业逻辑进行更改发包测试。

从这几部分的漏洞特点也能够看出,扫描器的作用是越来越少的,需要手工测试的越来越多。

这也就需要入坑小白要做到:

一、对体系的营业逻辑要梳理清楚

2、把握可能存在逻辑漏洞的功能点

三、熟练使用Burp Suite等工具更改发包及归包数据

四、发现漏洞后可推测其代码编写的逻辑问题

说这些也只是套哥我小我私人的一点经验,希翼能帮到刚入坑的小白,后面我会继续以及人人分享常见漏洞的一些详细见检测要领以及行使技巧,希翼人人支持。

要是你也有经验要交流分享,可以联系我(微信公众号:“安全骗局”,套哥微旗子灯号:“anquanquantao”)

*

您可能还会对下面的文章感兴趣: