实验来源:合天网安实验室
实例七、和实例六好像木有区别
关键代码:
分析:htmlentities函数把字符转换为 HTML 实体(具体如下)。
显示结果 | 描述 | 实体名称 | 实体编号 |
---|---|---|---|
空格 | |   | |
< | 小于号 | < | < |
> | 大于号 | > | > |
& | 和号 | & | & |
" | 引号 | " | " |
' | 撇号 | ' (IE不支持) | ' |
¢ | 分 | ¢ | ¢ |
£ | 镑 | £ | £ |
¥ | 日圆 | ¥ | ¥ |
€ | 欧元 | € | € |
§ | 小节 | § | § |
© | 版权 | © | © |
® | 注册商标 | ® | ® |
™ | 商标 | ™ | ™ |
× | 乘号 | × | × |
÷ | 除号 | ÷ | ÷ |
我们看一下表格,单引号是没被转换的,那个撇号好像单引号,测试一下你就知道单引号没转换,而且关键源代码中用了单引号,实验设计师绝对是故意的,实例六是双引号的那把实例六的代码改为单引号就可以了,看下图,源代码中的
根据实例七的代码提示,下面哪个语句能成功: 【单选题】 题目已完成,2
实例八、有时候你要跳出你的思维
关键代码:
分析:$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。$_SERVER['PHP_SELF']就是当前执行脚本的文件名,如下:(更详细的信息请看:http://PHP.NET/reserved.variables.server)
那么这里我们也要用到闭合双引号啦,表单的话有个onsubmit事件
先在地址栏这样输入,回车后看一下源代码,form里面的属性被改了吧
然后在按一下提交不就触发onsubmit事件了吗
根据实例八的代码提示,下面哪种方式能成功: 【单选题】 题目已完成,2
实例九、将xss进行到底
关键代码:
分析:location是JavaScript管理地址栏的内置对象,比如location.href用来管理页面的URL,用location.href=url就可以直接将页面重定向URL,而location.hash则可以用来获取或设置页面的标签值。比如http://domain/#admin的location.hash="#admin",substring() 方法用于提取字符串中介于两个指定下标之间的字符。他有两个参数,分别是始末位置,末位置可省略(那默认就是字符串的最后咯),那么location.hash.substring(1)的意思是首先获取#后面的内容(不包括#,简单来说就是去掉#),然后完完全全写在网页上,注意不是写在script标签里的 然后截取#后面的内容,所以我们的代码可以下载#后面了
根据实例九的代码提示,下面哪种方式能成功: 【单选题】 题目已完成,2