学习回顾
一、静态 动态语言区别
动态语言
1、动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python 和 Ruby 就是一种典型的动态类型语言,其他的各种脚本语言如 JavaScript 也属于动态类型语言。
2、动态类型语言的优点
编写的代码数量更少,看起来更加简洁,可以把精力更多地放在业务逻辑上。虽然不区分类型在某些情况下会让程序变得难以理解,但整体而言,代码量越少,越专注于逻辑表达,对阅读程序越有帮助。
动态类型语言的缺点
无法保证变量的类型,从而在程序的运行期有可能发生跟类型相关的错误。
动态类型语言对变量类型的宽容给实际编码带来了很大的灵活性。由于无需进行类型检测,我们可以尝试调用任何对象的任意方法,而无需去考虑它原本是否被设计为拥有该方法。
静态类语言
1、静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++ 是静态类型语言的典型代表,其他的静态类型语言还有 C#、JAVA 等。
2、静态类型语言的优点
首先是在编译时就能发现类型不匹配的错误,编译器可以帮助我们提前避免程序在运行期间有可能发生的一些错误。其次,如果在程序中明确规定了数据类型,编译器还可以针对这些信息对程序进行一些优化工作,提高程序执行速度。
3、静态类型语言的缺点
首先是迫使程序员依照强契约来编写程序,为每个变量规定数据类型,归根结底只是辅助我们编写可靠性高程序的一种手段,而不是编写程序的目的,毕竟大部分人编写程序的目的是为了完成需求交付生产。其次,类型的声明也会增加更多的代码,在程序编写过程中,这些细节会让程序员的精力从思考业务逻辑上分散开来。
4、一般静态类型语言更适合用于描述数据结构。
二、常见的脚本语言有那些
常见脚本语言:Python、AngleScript、Lua、LuaPlus、JavaScript
三、常见的数据库有那些
常见的数据库:mysql 、SQL Server、Oracle、Access、Sybase、DB2
四、常见的数据库与脚本语言搭配
1、LAMP(开源): Linux+apache+PHP+MySQL
2、LNMP(开源):Linux+Nginx+PHP+MySQL
3、Windows+IIS+.net+MSSql Server
4、Linux+Tomcat+JSP+MySQL
5、Linux+Tomcat+JSP+Oracle
6、asp+access
7、asp.net+MSSql
五、系统、脚本语言、中间件如何组合
与“第四”点相同
六、渗透测试过程中如何查看对方网站平台
工具:RASS、天镜、NMAP、X-SCAN
七、子域名探测方法
1、DNS域传输漏洞:dnsenum oldboydu.com -f /dns.txt --dnsserver 114.114.114.114。(在kali系统上执行)
2、备案号查询(查询相关的域名)
3、SSL证明书查询
SSL状态检测:https://myssl.com/ssl.html
SSL证书在线检测工具:https://www.chinassl.net/ssltools/ssl-checker.html
4、google搜索C段
这招用的比较少,国内没条件的就用bing或百度吧(国内站点足矣),在没什么进展的时候或许会有意外惊喜。
什么是C段:
比如在:127.127.127.4 这个IP上面有一个网站127.4 这个服务器上面有网站我们可以想想..他是个非常大的站几乎没什么漏洞!但是在他同C段127.127.127.1~127.127.127.255 这1~255 上面也有服务器而且也有网站并且存在漏洞,那么我们就可以来渗透1~255任何一个站 之后提权来嗅探得127.4这台服务器的密码 甚至3389连接的密码后台登录的密码 如果运气好会得到很多的密码…
八、敏感信息收集方法(APP反编译与微信公众号收集)
1、Web源代码泄露
2、邮箱信息收集
3、历史漏洞收集
4、工具信息收集
网友评论