本文目录一览:
如何搭建一个提供web网络安全测试的环境
搭建WEB渗透环境。
一般是asp+access+iis等但是利用ASP小旋风就可以搭建一个asp的环境,但是漏洞源码你需要自己寻找。
PHP+MYSQL+阿帕奇,这种黄金三配套你需要拥有一个服务器环境,一般你下载一个XMPP就可以搭建一个阿帕奇+MYSQL的环境,配合这种PHP黄金三件套的环境漏洞平台有,DVWA。
这款测试平台集成了 XSS,SQL,FUZZ,CSRF等常见得漏洞测试
更多详细的漏洞平台参见
web漏洞挖掘和二进制漏洞挖掘哪个容易
首先这类问题建议你去知乎,百度的回答你也看到了。好了,接下来我回答一下这个问题。要说到哪个容易,要看你个人对漏洞的理解。比如说web,想要做到挖掘,你得熟悉甚至精通一个web框架,比如说lamp,linux+apache+mysql+php,你可以搞定相关的一些问题。学习成本你也看到了。另外是对于漏洞的理解,常见的web漏洞,sql注入,xss跨站,csrf跨站请求伪造,文件上传,命令执行等等。继续说0day挖掘,白盒(比如代码审计),灰盒(黑白盒结合),黑盒(Fuzz)。等等。接着来说二进制漏洞,我理解的二进制是,系统级别的漏洞挖掘。常见的比如缓冲区溢出,内存泄露等,影响比如本地权限提升等等。学习成本就是你要学习汇编,C/C++,了解操作系统知识。熟悉常用的比如OD,IDA Pro等调试工具。另外建议学习一门脚本语言,方便编写poc,这里推荐python。
至于难易程度,自己来决定吧。
发现XSS漏洞的一般做法有哪些?
关于发现时间,要具体到是检测什么目标了。找google的,和找腾讯的时间肯定不会一样。 至于“你们一般都是如何发现xss漏洞的?” 不同类型的XSS漏洞,可能不尽相同。
1.对于反射型XSS以及一些DOM XSS,一般建议是开发一些自动化的扫描工具进行扫描,并辅以手工分析。 另外一方面,搜索引擎也是快速寻找具有缺陷参数的好办法。
2.对于存储型XSS,
1) 对于单纯的输入-存储-输出点 的情况 (输入与输出点关系:一个地方输入,会有多个地方输出;不同地方输入,同一地方输出。绕了点 T T ...)。常规测试是正向直接输入内容,然后在输出点查看是否未过滤,当然你也可以先大胆假设输出点未过滤,反向寻找在何处进行输入,进而测试。
2)对于富文本,则需要对过滤器进行fuzz测试(人脑+自动化)了,正好乌云drops上有乌乌发了一篇:fuzzing XSS filter
3)第三类,就是一些WEB应用中所出现的DOM-存储型XSS,即输出点的无害内容,会经过js的一些dom操作变得危险(本质上和 第1点里的dom xss成因是一样的)。这一类的挖掘方法,个人觉得不太好总结。 其一,需要熟悉WEB应用的功能,其二,知道功能所对应的JS代码有哪些,其三,凭直觉猜测程序员会在哪些功能出现可能导致XSS的过滤遗忘或过滤错误(直觉是唬人的,其实就是你知道某些功能会需要某些代码实现,而这些代码常常容易出错),其四,需要有较好的代码阅读跟踪能力(JS一大坨。。还是蛮难读的.... 有些代码被混淆过,十分不易阅读,就会涉及到如何下断点进行调试的小技巧)。 我想,挖掘这一类的前提可能是需要有不错的前端开发经验,写多了,才会有足够的嗅觉。
其实吧,有时候专门去找漏洞会很累的,大什么怡情,小什么伤身,因此,我们还不如开心的敲敲代码,听听歌,静待生命中那些意外的收获。 这些收获经常来自身边的人发给你的一些事物。
最后,不论如何,基础很重要吧,内力不足,招式再多也没用,反之,草木竹石皆可为剑。
网络安全工程师需要学什么
网络安全工程师需要学的内容:
1、网络安全基础:网络基础、虚拟机、数据包分析、常用协议、内网穿透、隧道技术等。
2、Linux:Linux系统文件、用户、进程、日志、常用服务(HTTP、ftp、dns、SMTP等)。
3、Python编程:Python用法基础、字符串、列表和元组、面向对象、文件和输入输出、网络编程、web编程等。
4、数据库:MySQL、msSQL、Oracle。
5、web脚本基础:html、css、js、asp、PHP、jsp等。
6、web渗透与攻防:OWASP、TOP10、XSS、CSRF、SQL注入、文件上传/包含、命令注入等。
7、逆向工程:逆向工具(ollydbg、softice、windbg)、软件保护与破解、杀毒与免杀。
8、软件漏洞挖掘:堆栈溢出原理与实践、shellcode、fuzz、漏洞分析。
9、社会工程学:信息收集、伪装、诱导、心理战术、说服力、社会工程学工具等。
10、渗透测试:信息获取、扫描与服务识别、漏洞验证、无限安全、嗅探攻击、代理与隧道、metasploit渗透攻击等。