Loading

二十七:XSS跨站之代码及httponly绕过

httponly:如果给某个 cookie 设置了 httpOnly 属性,则无法通过 JS 脚本 读取到该 cookie 的信息,但还Application 中手动修改 cookie,所以只是在一定程度上可以防止 XSS 攻击,不是绝对的安全

虽然设置了httponly之后拿不到cookie,但是还是存在xss跨站语句,阻止的仅仅是获取cookie

  可以直接拿账号密码,cookie登录.
  浏览器未保存读取密码:需要xss产生于登录地址,利用表单劫持
  浏览器保存账号面:产生在后台的XSS,例如存储型XSS

手工判断xss跨站漏洞:

第一关:

第二关:

  被转义,查看源代码。

  存在htmlsecialchars()函数:

  把符号转换为实体化标签,xss经常过滤的情况

第二关:

  闭合前面的双引号,"><script>alert(1)</script>

第三关:

  还是对<>进行了转义,利用表单的鼠标点击属性。
  'onclick='alert(1)

第四关:

第五关:

  在关键字onclick过滤,on_click
  借助a herf属性,自己创建一个javascript代码
  "><a href="javascript:alert(1)">

第六关:

  继续用第五关的代码,发现herf被过滤,查看源代码。

  关键字都被过滤,使用大写替绕过
  "><a hRef="javaScript:alert(1)">

第七关:

  和upload-labs一样,代码并无循环过滤,因此可以双写绕过

第八关:

大小写,双写均不行,替换为unicode编码

第九关:

这一关不看代码几乎很难完成,代码会检测是否存在http://


第十关:

&t_sort="type="="type="text"onclick="alert(1)"

查看源代码,发现属性为hidden,被隐藏了。

第十一关:

  http referer 头,检测来源。
  浏览器会检测此JS代码是否来
  CSRF跨站请求脚本,检测来源。管理员在登录状态的情况下,登录时触发了一串添加管理员账号的密码,此时则会添加管理员。

  检测来源,也就是浏览器的同源策略,看看是否来自同一个域名,不是同一个域名的不接受
  token验证会解决这个问题

  此关卡在referer头输入&t_sort="type="="type="text"onclick="alert(1)"

第十二关:

  检测user-agent   aizhan网也存在跨站

  后面的关卡也是各种隐藏的属性,基本都是类似的,不在一一记录。
posted @ 2021-01-23 09:05  王嘟嘟~  阅读(3811)  评论(0编辑  收藏  举报