本文目录一览:
- 1、安全测试高逼格说法
- 2、下列关于Javascript的说法中正确的是
- 3、几种极其隐蔽的XSS注入的防护
- 4、以下说法正确的是( )。
- 5、针对sql注入和xss跨站的说法中,哪些说法是正确的
- 6、下列关于sars的说法,正确的是
安全测试高逼格说法
在说话中使用更多专业术语为好。
专业术语例如:易受攻击性,URL处理,SQL注入,XSS(跨站式脚本攻击)。
安全测试方法:为了对Web应用提供一次有效的安全性测试,安全测试人员应当对HTTP协议有很好的认知。对于客户端(浏览器)和服务器端之间如何运用HTTP通信有很好的了解是非常重要的。除此之外,测试人员需了解最基本的SQL注入以及跨站式脚本攻击。如果运气好的话,在Web应用上发现的安全漏洞的数目不会很多。不管怎样,能够对所发现的问题精确具体地描述安全漏洞能提供相当大的帮助。
下列关于Javascript的说法中正确的是
A、是错误的,JS的语法要求不是很严格,而且是弱类型的语言(声明变量没有具体类型),而且用之前不声明也没关系。
B、不完全正确,所谓面向对象,一定要有“封装、继承、多态”3大特征,JS貌似支持的不是很好
C、是正确的,JS文件在完成之后,不会经过任何的编译。而是在运行时去解释执行。最好的例子就是,JS中一个函数有语法的错误,但是不会因为这个局部的错误而影响其他函数运行。
D、Java的前身是Oak语言,Java和Javascript不一样
几种极其隐蔽的XSS注入的防护
XSS注入的本质
就是: 某网页中根据用户的输入, 不期待地生成了可执行的js代码, 并且js得到了浏览器的执行. 意思是说, 发给浏览器的字符串中, 包含了一段非法的js代码, 而这段代码跟用户的输入有关.
常见的XSS注入防护, 可以通过简单的 htmlspecialchars(转义HTML特殊字符), strip_tags(清除HTML标签) 来解决, 但是, 还有一些隐蔽的XSS注入不能通过这两个方法来解决, 而且, 有时业务需要不允许清除HTML标签和特殊字符. 下面列举几种隐蔽的XSS注入方法:
IE6/7 UTF7 XSS 漏洞攻击
隐蔽指数: 5
伤害指数: 5
这个漏洞非常隐蔽, 因为它让出现漏洞的网页看起来只有英文字母(ASCII字符), 并没有非法字符, htmlspecialchars 和 strip_tags 函数对这种攻击没有作用. 不过, 这个攻击只对 IE6/IE7 起作用, 从 IE8 起微软已经修复了. 你可以把下面这段代码保存到一个文本文件中(前面不要有空格和换行), 然后用 IE6 打开试试(没有恶意代码, 只是一个演示):
+/v8 +ADw-script+AD4-alert(document.location)+ADw-/script+AD4-
最容易中招的就是 JSONP 的应用了, 解决方法是把非字母和数字下划线的字符全部过滤掉. 还有一种方法是在网页开始输出空格或者换行, 这样, UTF7-XSS 就不能起作用了.
因为只对非常老版本的 IE6/IE7 造成伤害, 对 Firefox/Chrome 没有伤害, 所以伤害指数只能给 4 颗星.
参考资料:UTF7-XSS不正确地拼接 JavaScript/JSON 代码段
隐蔽指数: 5
伤害指数: 5
Web 前端程序员经常在 PHP 代码或者某些模板语言中, 动态地生成一些 JavaScript 代码片段, 例如最常见的:
var a = '?php echo htmlspecialchars($name); ?';
不想, $name 是通过用户输入的, 当用户输入a’; alert(1); 时, 就形成了非法的JavaScript 代码, 也就是XSS 注入了.
只需要把上面的代码改成:
var a = ?php echo json_encode($name); ?;
去掉单引号, 利用 PHP 的 json_encode() 函数来生成表示字符串的字符串. 这样做是因为,
最好用 json_encode() 函数来生成所有的 JSON 串, 而不要试图自己去拼接
. 程序员总是犯这样的错误: 自己去解析 HTTP 报文, 而不是用现成的成熟的库来解析. 用 json_encode() 的好处还在于, 即使业务要求我要保留单引号时, XSS注入也可以避免.
隐蔽指数最高级, 伤害所有的通用浏览器
. 这种 XSS 注入方式具有非常重要的参考意义.
最后, 根据工作中的经验, 以及我自己和别人犯过的错, 我总结出一个定理: 没有一劳永逸的单一方法可以解决所有 XSS 注入问题.
有用的经验:输出 HTML 代码时 htmlspecialchars输出JavaScript 代码时 json_encode
输入过滤应该用于解决业务限制, 而不是用于解决 XSS 注入(与严进宽出的原则相悖, 所以本条值得讨论)讨论:上文提到的经验第3条, 是一种宽进严出的原则, 和严进宽出原则是相悖的. 其实, 我认为不应该把严进宽出作为一条伪真理, 好像除了它其它的说法都不对了似的. 宽进严出和严进宽出应该具有完全相等的地位, 根据实现的成本进行取舍.
例如, 用户的名字可以采用严进宽出原则, 不允许用户填写单引号, 大于号小于号等. 但是用户的签名呢? 难道就不能填单引号?
以下说法正确的是( )。
以下说法正确的是(D )。
A. 文本(text)是可见字符(文字、字母、数字、符号等)的有序组合,也称为普通文本、纯文本(plaintext)
B. 高级文本是通过超链接将不同位置的文字信息组织在一起的网状文本
C. 按用户搜索方法来分,搜索引擎包括目录式和程序式
D. WWW全称为WorldWideWeb,也简称Web或因特网
试题32(2分)
下面说法正确的是( A )。
A. 信息的泄露在信息的传输和存储过程中都会发生
B. 信息的泄露在信息的传输和存储过程中都不会发生
C. 信息的泄露只在信息的传输过程中发生
D. 信息的泄露只有信息的存储过程中发生
针对sql注入和xss跨站的说法中,哪些说法是正确的
针对sql注入和xss跨站的说法中,哪些说法是正确的
最有效的方法是使用参数化查询就能避免sql注入了,防止跨站的话可以使用微软白名单。或者关键字黑名单。
下列关于sars的说法,正确的是
A错误,病毒只能经由细胞繁殖,不能在血浆中增殖.
B正确.
C错误,SARS病毒是RNA病毒,核酸中只含有AUCG四种碱基.
D错误,病毒没有细胞器,蛋白质由寄主细胞内的核糖体合成.