题
在浏览器中浏览了网页之后,下一步就是查看其HTML源代码。尽管这种方法很简单,但仍然非常值得去做。查看源代码有两项作用;它可以帮助你发现最明显的安全问题,但最重要的是,它使你能够为将来的测试建立一个比较基准。对攻击失败之前和之后的源代码进行比较,你就能够调整你是输入,了解到哪些通过了,哪些没有通过,并再次尝试。
解决方案
我们推荐使用Firefox,你已经在2.1节中学会了它的安装。首先浏览应用中你所感兴趣的网页。
右击,并选择“查看源文件”或从菜单栏选择“查看”→ "源文件"。
我们推荐Firefox的主要原因是因为它的彩色显示。如图3-1所示,使用这种显示方式,HTML标签和属性都要容易理解得多。相比之下,Internet Explorer在记事本中打开网页。就会难读得多。
讨论
作为比较基准,访问HTML源代码会非常有帮助。最常见的Web漏洞涉及到向Web应用提供恶意输入以修改HTML源代码。在测试这些漏洞时,验证测试通过或失败的最简单的方法就是检查源代码是否被恶意更改。
当心一切未经更改就写进源代码中的输入。我们将在第8章讨论输入验证,然后许多应用根本就不对输入进行验证。在开始讨论更加复杂的内容之前,不妨在源代码中搜索你刚刚提供的输入。然后,使者将可能的危险值作为输入,比如HTML标签或JavaScript,并注意它是否未经修改就直接显示在源代码中。如果是这样的话,那么这就是个警示信号。
注意,你可以像搜索任何其他Firefox页面那样搜索HTML源代码(根据具体情况,使用Ctrl+F或(Windows徽标键)+F)。
在以后的秘诀和章节中,我们将使用工具来自动搜索、解析和比较源代码。记住基本要点;通常,可以通过重复地手动检查源代码以检查怎样做才能使它通过筛选程序或编码找出漏洞。
注意:你在这里看到的静态源代码不能反映JavaScript或AJAX功能所做的任何更改。
搜索微信公众号:TestingStudio霍格沃兹的干货都很硬核
天是刘小爱自学Java的第78天。
感谢你的观看,谢谢你。
话不多说,继续前端之CSS的学习:
其中在头条搜索中也有很多关于CSS的干货教程,专业又详细,点击下方卡片搜索“CSS”了解更多
CSS,全称是Cascading Style Sheet,翻译过来就是层叠样式表。
它有一个非常厉害的功能,就是美化网页。
本质上HTML也可以美化网页,但是CSS更加地强大,可以实现很多HTML不能实现的功能。
CSS有一个核心标签叫style,也就是样式的意思,CSS本身也就是可以设定各种各样的样式。
用一个例子来说明:
<style>标签,放在<head></head>标签里面。
①h1的美化
如果纯用HTML,是没法对标题进行颜色设置的。
但使用CSS,就可以对标题进行各种样式的设置,上图只举了颜色这个例子。
②字体的美化
字体是可以在HTML中设置属性的,比如颜色(color),比如大小(size)…
而CSS等于是将这些属性抽取出去了,专门放在<style>标签中了。
这样有什么好处?
降低耦合度,分工更加地明确,CSS专门用来美化,HTML专门用于结构搭建,如果想设定格式,指定CSS就好了。
这个就有点类似于Java中方法的封装,或者说经典三层架构。
Service层专门负责具体的业务逻辑,Dao层专门负责数据库的查询,Service想访问数据库,调用Dao层就好了。
CSS一共有三种引入方式。用例子说明:
①行内样式
直接在标签中添加style属性,也能起到引入CSS的效果。
但是为了降低耦合度,一般在HTML主干中只搭建结构,设定样式专门交给CSS来做。
②内部引入
也就是一开始的那个例子,sytle标签是放在head标签中的。
除了这两种,还有一种外部引入方式:
③外部引入(一)
可以自定义一个CSS文件,在里面写自定义的样式。
然后在HTML文件中使用style标签引入该CSS文件即可,其中引入格式如下:
@import+CSS文件路径。
和Java中的导包很类似,文件路径中的“..”表示回到上一层。
④外部引入(二)
除了使用style外,还可以使用link标签外部引入:
关于这三种引入方式的优先级:
行内引入是最优先的。
内部引入和外部引入,就看哪个离HTML文件主体近(就近原则)
选择器的作用在于:可以帮我们从页面上获得对应的标签。
其中有最基本的三种选择器:
①id选择器
格式为:#+id名{}
关于id我做了个测试,发现不能用纯数字,老实说我还挺奇怪的,一般id不都是纯数字么。
就当是CSS的命名规则好了,不能是纯数字,否则没有作用。
其中id选择器是唯一的,也就是一个id在一个HTML文件中只能有一个。
②类选择器
格式为:.+类名{}
类是可以有多个的,比如同样是font标签,相同的id只能有一个,但是相同的类可以有多个。
③标签选择器
格式为:标签名{}
HTML中是有很多标签的,可以直接使用过标签作为选择器,上图例子中是font标签。
关于这三种选择器的优先级:
id选择器最大,类选择器次之,标签选择器最小。
这其实也很好理解:
id选择器最精准,优先级越高(例子中①哪怕也是myClass类,标签也是font),但样式还是按照id选择器设定的来。
除了三种基本选择器外,还有好几种选择器:
①层级选择器
格式为:div+空格+标签名{}
标签与标签之间是用空格隔开的。
在HTML中有一个div标签,这个标签和CSS结合起来很有用。
比如上述例子中,同样是h1标签,但是只渲染div标签中的h1标签。
②并集选择器
格式为:div+逗号+标签名{}
标签与标签之间是用逗号隔开的,也就是相当于将标签选择器并起来了,同时修改多个标签的样式。
③属性选择器
格式为:标签名[属性名="对应的值"]{}
font标签中有很多属性,CSS可以指定其中对应的属性。
比如size=“3”的才修改样式,其中哪怕font默认字体size为3,但是没有写出size属性,也不会修改其样式。
④伪类选择器
格式为:标签名+冒号+对应的状态
所以为什么叫伪类?
并不是修改的某个具体的类修改,而是对标签对应的状态进行修改。
其中关于CSS选择器真的太多太多了,可以查询W3C官方文档,如下图:
这还是我截图的一小部分,其它的截不下了,一共有几十种。
想要完全把它学习下来真心需要花一定的时间,但我毕竟还是以学Java后台为主,对前端只做一个基本的了解。
以后有机会再做做总结什么的,估计也没什么机会了……
谢谢你的观看。
如果可以的话,麻烦帮忙点个赞,谢谢你。
家好,我是大澈!
本文约800+字,整篇阅读大约需要1分钟。
感谢关注微信公众号:“程序员大澈”,免费领取"面试礼包"一份,然后免费加入问答群,从此让解决问题的你不再孤单!
*请认真填写需求信息,我们会在24小时内与您取得联系。