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

网站开发 工程师 类型百度一下百度官网

网站开发 工程师 类型,百度一下百度官网,b站推广入口在哪,注册网站查询系统sqli-labs靶场安装以及刷题记录-dockerpikachu靶场-Cross-Site Scripting pikachu靶场的安装刷题记录反射型xss(get)反射型xss(post)存储型xssDOM型xssDOM型xss-xxss盲打xss之过滤xss之htmlspecialcharsxss之href输出xss之js输出 pikachu靶场的安装 刷题记录 反射型xss(get) …

sqli-labs靶场安装以及刷题记录-dockerpikachu靶场-Cross-Site Scripting

  • pikachu靶场的安装
  • 刷题记录
    • 反射型xss(get)
    • 反射型xss(post)
    • 存储型xss
    • DOM型xss
    • DOM型xss-x
    • xss盲打
    • xss之过滤
    • xss之htmlspecialchars
    • xss之href输出
    • xss之js输出

pikachu靶场的安装

刷题记录

反射型xss(get)

在这里插入图片描述
输入设置了长度限制,前端可以直接改
在这里插入图片描述

在这里插入图片描述
改maxlength值,之后输入脚本成功注入

<script>alert(1)</script>

反射型xss(post)

在这里插入图片描述
执行登陆操作,登陆成功后有一个输入框,可以输入注入语句在这里插入图片描述

存储型xss

在这里插入图片描述
同样直接输入注入语句试试

<script>alert(1)</script>

直接弹窗了,看下源码,没有任何过滤在这里插入图片描述

DOM型xss

在这里插入图片描述
输入aaaaaa,点击click me会生成一个链接,那可以让它指到刚刚的存储型xss网站来触发弹窗

在这里插入图片描述

输入xss_stored.php,点击what do you see
在这里插入图片描述

DOM型xss-x

在这里插入图片描述
输入123444,观察源码在这里插入图片描述

输入123444后,依次点击所弹出的链接,url变化为

//请说出你的伤心往事
/vul/xss/xss_dom_x.php?text=123444
//有些费尽心机想要忘记的事情,后来真的就忘掉了
/vul/xss/xss_dom_x.php?text=123444#
//就让往事都随风,都随风吧
/vul/xss/123444

同样可以输入xss_stored.php使其跳转到存储型xss网站来触发弹窗

xss盲打

在这里插入图片描述
输入各种语句都是一样的回显,看了提示有后台/xssblind/admin_login.php
在这里插入图片描述
在这里插入图片描述
打开后台页面,会弹窗刚刚提交的注入语句

刚好配置一下文件扫描工具dirsearch,下载zip解压直接

python dirsearch.py -u http://ip:9002/vul/xss/xssblind/
conda create --name py39 python=3.9//需要3.9及以上版本python

xss之过滤

在这里插入图片描述
输入注入语句试试

<script>alert(1)</script>

发现回显只剩一个>了,被继续测试,猜一下过滤规则,发现大小写混合可以绕过

<Script>alert(1)</Script>

xss之htmlspecialchars

输入注入语句,之后点击链接弹窗成功

javascript:alert(1)

相关知识点学习:
htmlspecialchars() 是一个用于避免 XSS(跨站脚本攻击) 的 PHP 函数,它的主要作用是将 HTML 特殊字符转义为实体编码,从而防止恶意用户在输入内容中注入 HTML 或 JavaScript 代码。这是常见的 Web 应用程序中用户输入处理的重要部分,尤其是在显示数据时。

基本用法

htmlspecialchars(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE, string $encoding = 'UTF-8', bool $double_encode = true): string

参数说明

  1. $string:

    • 这是需要被转义的字符串。通常是用户输入的数据。
  2. $flags:

    • 这是可选参数,用来指定如何处理不同的字符。常见的标志有:
      • ENT_COMPAT:默认。将双引号 (") 转义为 &quot;,但不转义单引号 (')。
      • ENT_QUOTES:将双引号和单引号都转义。也就是说," 会转义为 &quot;,而 ' 会转义为 &#039;
      • ENT_NOQUOTES:不转义任何引号。
      • ENT_HTML401, ENT_XML1, ENT_XHTML, ENT_HTML5:这些用于指定 HTML 实体的文档类型(HTML 4.01、XML 1、XHTML、HTML5)。
      • ENT_SUBSTITUTE:当给定的字符集无法表示某些字符时,使用替代字符。
  3. $encoding:

    • 这是字符编码的选项。默认值是 UTF-8,但可以根据需要设置为其他编码(如 ISO-8859-1)。
  4. $double_encode:

    • 如果设置为 false,则不会对已经被转义的实体再次进行转义。例如,如果字符串中已经包含 &amp;,它不会再次转义为 &amp;amp;。默认为 true

常见例子

  1. 基本用法

    $input = "<script>alert('XSS');</script>";
    echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8');
    

    输出

    &lt;script&gt;alert(&#039;XSS&#039;);&lt;/script&gt;
    
    • htmlspecialchars()< 转义为 &lt;> 转义为 &gt;,从而避免了用户输入的 JavaScript 被浏览器解释和执行。
  2. 处理双引号和单引号

    $input = 'He said, "Hello!"';
    echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8');
    

    输出

    He said, &quot;Hello!&quot;
    
    • ENT_QUOTES 标志确保了双引号被转义为 &quot;
  3. 避免重复转义

    $input = '&lt;strong&gt;Hello&lt;/strong&gt;';
    echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8', false);
    

    输出

    &lt;strong&gt;Hello&lt;/strong&gt;
    
    • 因为 double_encode 参数被设置为 false,所以已经转义的实体不会再次被转义。

使用场景

  1. 显示用户输入的数据
    当用户提交包含 HTML 或 JavaScript 的数据时,直接输出可能会被浏览器解释并执行。这会导致跨站脚本攻击(XSS)。htmlspecialchars() 可以有效防止这种情况。

    $comment = "<script>alert('hacked');</script>";
    echo htmlspecialchars($comment, ENT_QUOTES, 'UTF-8');
    

    这样可以确保用户输入的 <script> 标签不会被执行,而是显示为普通文本。

  2. 防止 XSS 攻击
    用户通过表单提交恶意代码是 XSS 攻击的常见方式。通过使用 htmlspecialchars(),可以将这些恶意代码转义为普通文本,防止被执行。

  3. 与数据库结合使用
    当你将用户输入的数据存入数据库并从数据库读取数据进行展示时,使用 htmlspecialchars() 来展示用户生成的内容是一个好习惯。它能确保显示的数据是安全的,而不是被解析为 HTML 或 JavaScript。

转义的字符列表

  • & 转义为 &amp;
  • < 转义为 &lt;
  • > 转义为 &gt;
  • " 转义为 &quot;
  • ' 转义为 &#039;(仅在 ENT_QUOTES 标志下)

注意事项

  • htmlspecialchars() 主要用于输出 HTML 内容时对用户输入的转义。如果你需要将用户输入作为 HTML 标记(比如 <div>)安全地显示,htmlspecialchars() 是首选。
  • 对于更复杂的场景,比如需要处理完整的 HTML 文档或需要转义所有 HTML 实体,可以使用 htmlentities() 函数。

总结

  • htmlspecialchars() 是防止 XSS 攻击的一个重要函数,通过将特殊字符转义,避免浏览器将其解释为 HTML 或 JavaScript 代码。
  • 它在输出用户输入的数据时尤其重要,比如在评论区、聊天框等地方。

xss之href输出

在这里插入图片描述

javascript:alert(1)//同样可以绕过

xss之js输出

在这里插入图片描述

输入

javascript:alert(1)
?message=javascript%3Aalert%281%29&submit=submit//Url中多了message参数	

提示
在这里插入图片描述
随便输入看一下源码
在这里插入图片描述
尝试闭合

1'</script><script>alert(1)</script>

在这里插入图片描述
没有闭合,再试一次

1'</script><script>alert(1)</script>

成功弹窗

http://www.khdw.cn/news/3884.html

相关文章:

  • 哪个做网站的公司好东莞网站设计公司排名
  • 做网站红色和什么搭配好软文价格
  • 网站建设较好的公司宁波seo网络推广推荐
  • 全球十大设计公司西安网站seo哪家公司好
  • 看不到的网站南宁网站seo大概多少钱
  • 网站给部分文字做遮挡代码百度热搜电视剧
  • 网站建设费用评估百度搜索引擎推广步骤
  • 库存网站建设哪家好西安seo主管
  • 做动画视频的网站百度秒收录软件工具
  • 福清网站建设一键关键词优化
  • 高端网站建设 司法济南网站建设老威
  • 西安网站seo收费网站赚钱
  • 深圳做网站得外包公司有哪些网站建设产品介绍
  • 包头建设局网站合肥瑶海区
  • 黄骅市属于哪个省哪个市seo网站排名优化价格
  • 做淘宝优惠网站步骤百度seo培训要多少钱
  • 网站上怎么引用视频站长工具seo源码
  • 网络公司简介模板搜索引擎优化排名培训
  • 深圳做网站哪个好太原做网站的工作室
  • 合肥做网站价格网络营销渠道有哪几种
  • 百家联盟推广部电话多少西安网站优化推广方案
  • 温州网站建设推广semikron
  • 门户网站做seo推广引流平台
  • 电商广告推广整站优化加盟
  • 深圳品牌防伪网seo项目完整流程
  • 西安网站制作公司排名河南郑州最新事件
  • 美团网站开发费用现在有哪些网址
  • 网站域名证书查询军事新闻今日最新消息
  • 班级网站策划书百度首页网站推广多少钱一年
  • 怎么做网站海外运营推广腾讯广告联盟官网