0101xss入门及pikachu靶场-xss-web安全-网络安全

news2024/11/26 16:43:18

文章目录

    • 0 概述
    • 1 环境准备
    • 2 反射型xss
      • 2.1 概述
      • 2.1 靶场-反射型xss(get)
    • 3 存储型xss
      • 3.1 概述
      • 3.2 靶场-存储型xss
    • 4 DOM型xss
      • 4.1 概述
      • 4.2 靶场-DOM型xss
    • 5 问题总结
      • 6.1 再次启动pikachu容器报错
    • 结语

0 概述

学习路线,如如下图所示,

在这里插入图片描述

上图只是个参照,具体我们主要通过本地靶场初步认识xss及分类,通过xss平台进一步理解,然后我们会做一些在线xss靶场练习,最后做下总结。

1 环境准备

开始学习之前,准备下环境,服务器环境+本地靶场,具体列表如下:

软件版本说明
kali linux6.3.0渗透测试系统
phpstudyX1.29集成环境
docker20.10.25容器
area39/pikachulatestpikachu本地漏洞靶场docker镜像

相关软件安装配置自行查询相关文档,或者参考最后的连接,界面如下图1-1所示:

在这里插入图片描述

下面我们将结合本地靶场讲解下xss

2 反射型xss

2.1 概述

反射型跨站脚本攻击(Reflected XSS)是一种常见的Web安全漏洞类型,它涉及将恶意脚本注入到URL参数或输入字段中,然后这些恶意脚本被服务器返回并在受害者的浏览器中执行。

攻击过程如下:

  1. 注入恶意脚本:攻击者构造一个恶意URL,其中包含注入的恶意脚本。通常,攻击者会将恶意脚本作为参数添加到URL中。
  2. 用户点击恶意链接:攻击者通过各种方式诱使用户点击包含恶意脚本的链接,例如通过社交工程、钓鱼邮件等。
  3. 服务器响应:受害者点击链接后,恶意的URL参数被发送到服务器。服务器接收到参数后,将恶意脚本包含在返回的响应中。
  4. 浏览器执行恶意脚本:受害者的浏览器接收到响应后,会解析并执行恶意脚本。这可能导致攻击者在受害者的上下文中执行任意代码,例如窃取用户的敏感信息、会话劫持等。

要防止反射型XSS攻击,可以采取以下措施:

  • 输入验证和过滤:在服务器端对输入数据进行验证和过滤,确保输入数据不包含恶意脚本。验证数据是否符合预期的格式和范围。
  • 输出编码:在将用户生成的内容呈现在网页上之前,确保对其进行适当的编码,以防止恶意脚本的执行。使用适合上下文的编码函数。
  • 使用CSP:实施内容安全策略(CSP),限制允许在网页上运行的脚本源。这有助于减轻反射型XSS攻击的影响。
  • 警惕点击不明链接:作为用户,要警惕点击不明链接,尤其是来自不信任来源的链接。
  • 教育用户:教育用户识别和避免点击可疑链接,提高他们对网络安全的意识。
  • 正则安全审计和渗透测试:定期审计代码,寻找潜在的反射型XSS漏洞。进行渗透测试,发现并解决可能被忽视的漏洞。
  • 使用安全库和框架:使用已验证和被广泛接受的安全库和框架来处理用户输入和输出,以减少XSS风险。

通过综合采取这些措施,可以显著减少反射型XSS攻击的风险,从而保护Web应用程序和用户的安全。

2.1 靶场-反射型xss(get)

首先F12观察输入框,如下图2.1-1所示

在这里插入图片描述

  1. 有长度限制,这个好解决,直接修改长度

  2. 也可以在url参数位置直接输入

  3. 输入最简单的js弹窗函数alert(1)

    <script>alert(1)</script>
    

    效果如下图2.1-2所示:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I3diGOrE-1692025472178)(L:\BaiduSyncdisk\study\security\web\xss\images\2023-08-03_230158-pikachu-reflect-get-effect.png)]

我们看下相应xss_reflected_get.php源代码:

<?php
<!-- 省略 -->

$html='';
if(isset($_GET['submit'])){
    if(empty($_GET['message'])){
        $html.="<p class='notice'>输入'kobe'试试-_-</p>";
    }else{
        if($_GET['message']=='kobe'){
            $html.="<p class='notice'>愿你和{$_GET['message']}一样,永远年轻,永远热血沸腾!</p><img src='{$PIKA_ROOT_DIR}assets/images/nbaplayer/kobe.png' />";
        }else{
            $html.="<p class='notice'>who is {$_GET['message']},i don't care!</p>";
        }
    }
}



?>

<div class="main-content">
    <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">xss</a>
                </li>
                <li class="active">反射型xss(get)</li>
            </ul><!-- /.breadcrumb -->

            <a href="#" style="float:right" data-container="body" data-toggle="popover" data-placement="bottom" title="tips(再点一下关闭)"
               data-content="管tmd什么xss,首先你应该输入kobe看一下再说">
                点一下提示~
            </a>

        </div>
        <div class="page-content">



            <div id="xssr_main">
                <p class="xssr_title">Which NBA player do you like?</p>
                <form method="get">
                    <input class="xssr_in" type="text" maxlength="20" name="message" />
                    <input class="xssr_submit" type="submit" name="submit" value="submit" />
                </form>
                <?php echo $html;?>
            </div>

<!-- 省略 -->

?>

基本处理逻辑:

  1. message接收input输入框中内容
  2. 点击sumit提交给当前php处理
  3. 如果通过get方式提交的message为空,$html赋值字符串,在表单下方显示
  4. 如果不为空把message内容拼接在字符串内,显示在表单下方

后端php把输入框输入的内容不做任何处理,返回前端,浏览器解析返回值,如果为js代码会执行相应的逻辑。

3 存储型xss

3.1 概述

存储型跨站脚本攻击(Stored XSS)是一种常见的Web安全漏洞类型,与反射型XSS攻击相比,存储型XSS攻击将恶意脚本永久地存储在目标服务器上,然后在其他用户访问受影响页面时执行。

攻击过程如下:

  1. 注入恶意脚本:攻击者将恶意脚本注入到目标应用程序中,通常是通过输入字段、评论框、消息等用户可输入内容的地方。这些恶意脚本会被存储在应用程序的数据库或其他数据存储中。
  2. 存储恶意脚本:应用程序将恶意脚本永久地存储在服务器上。
  3. 用户访问受影响页面:其他用户访问受影响页面,例如查看评论、浏览消息等。
  4. 服务器返回恶意脚本:当用户请求受影响页面时,服务器将存储的恶意脚本包含在响应中。
  5. 浏览器执行恶意脚本:用户的浏览器接收到响应后,解析并执行恶意脚本。这可能导致攻击者在受害者的上下文中执行任意代码,从而可能窃取敏感信息、会话劫持等。

要防止存储型XSS攻击,可以采取以下措施:

  • 输入验证和过滤:在服务器端对输入数据进行验证和过滤,确保输入数据不包含恶意脚本。验证数据是否符合预期的格式和范围。
  • 输出编码:在将用户生成的内容呈现在网页上之前,确保对其进行适当的编码,以防止恶意脚本的执行。使用适合上下文的编码函数。
  • 限制脚本执行:使用内容安全策略(CSP)来限制允许在网页上运行的脚本源,从而减轻存储型XSS攻击的影响。
  • 输入限制和白名单:限制用户输入的内容,使用白名单来定义允许的HTML标签和属性,阻止不安全的内容进入数据库。
  • 定期安全审计和渗透测试:定期审查应用程序代码,寻找潜在的存储型XSS漏洞。进行渗透测试,发现并解决可能被忽视的漏洞。
  • 教育用户:教育用户识别和避免点击可疑链接,提高他们对网络安全的意识。

通过采取这些措施,可以降低存储型XSS攻击的风险,确保Web应用程序和用户的安全。

3.2 靶场-存储型xss

如下图3.2-1操作

在这里插入图片描述

步骤:

  1. 在留言板输入框中输入js代码,点击submit
  2. 相应的内容显示留言列表中,当我们点击留言,浏览器解析执行js代码

我们查看下xss_stored.php源代码:

<?php
/**
 * Created by runner.han
 * There is nothing new under the sun
 */


$SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1);

if ($SELF_PAGE = "xss_stored.php"){
    $ACTIVE = array('','','','','','','','active open','','','','active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','');
}

$PIKA_ROOT_DIR =  "../../";
include_once $PIKA_ROOT_DIR.'header.php';

include_once $PIKA_ROOT_DIR."inc/config.inc.php";
include_once $PIKA_ROOT_DIR."inc/mysql.inc.php";


$link=connect();
$html='';
if(array_key_exists("message",$_POST) && $_POST['message']!=null){
    $message=escape($link, $_POST['message']);
    $query="insert into message(content,time) values('$message',now())";
    $result=execute($link, $query);
    if(mysqli_affected_rows($link)!=1){
        $html.="<p>数据库出现异常,提交失败!</p>";
    }
}


if(array_key_exists('id', $_GET) && is_numeric($_GET['id'])){

    //彩蛋:虽然这是个存储型xss的页面,但这里有个delete的sql注入
    $query="delete from message where id={$_GET['id']}";
    $result=execute($link, $query);
    if(mysqli_affected_rows($link)==1){
        echo "<script type='text/javascript'>document.location.href='xss_stored.php'</script>";
    }else{
        $html.="<p id='op_notice'>删除失败,请重试并检查数据库是否还好!</p>";

    }

}


?>

<div class="main-content">
    <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">xss</a>
                </li>
                <li class="active">存储型xss</li>
            </ul><!-- /.breadcrumb -->

            <a href="#" style="float:right" data-container="body" data-toggle="popover" data-placement="bottom" title="tips(再点一下关闭)"
               data-content="无用提示:这个留言板的框框是可以拉长和拉宽的,还行不,大兄弟!">
                点一下提示~
            </a>

        </div>
        <div class="page-content">

            <div id="xsss_main">
                <p class="xsss_title">我是一个留言板:</p>
                <form method="post">
                    <textarea class="xsss_in" name="message"></textarea><br />
                    <input class="xsss_submit" type="submit" name="submit" value="submit" />
                </form>
                <div id="show_message">
                    <br />
                    <br />
                    <p class="line">留言列表:</p>
                    <?php echo $html;
                    $query="select * from message";
                    $result=execute($link, $query);
                    while($data=mysqli_fetch_assoc($result)){
                        echo "<p class='con'>{$data['content']}</p><a href='xss_stored.php?id={$data['id']}'>删除</a>";
                    }

                    echo $html;
                    ?>



                </div>
            </div>



        </div><!-- /.page-content -->
    </div>
</div><!-- /.main-content -->





<?php
include_once $PIKA_ROOT_DIR.'footer.php';
?>

源码解析:

  1. 输入框输入内容,点击submit
  2. php接收内容,存入数据库表message中
  3. php查询message表,把留言记录显示在输入框下方

看下数据库表message存储内容,如下图所示

在这里插入图片描述

4 DOM型xss

4.1 概述

DOM-based XSS(DOM XSS)是一种特殊类型的跨站脚本攻击,与存储型和反射型XSS略有不同。DOM XSS攻击是基于浏览器的,它利用网页的DOM(Document Object Model)结构中的漏洞来执行恶意脚本。

攻击过程如下:

  1. 构造恶意输入:攻击者通过在URL参数、输入字段或其他可控制的地方输入恶意数据。
  2. 网页加载和解析:受害者浏览器加载和解析带有恶意输入的网页。恶意输入可能会被浏览器解释为脚本。
  3. DOM修改:恶意输入触发了网页中的脚本,该脚本修改了网页的DOM结构。
  4. 恶意脚本执行:由于DOM结构的修改,恶意脚本被插入并执行在受害者的浏览器上下文中。

与传统的XSS攻击不同,DOM XSS攻击并不总是涉及将恶意脚本从服务器传递到浏览器。相反,攻击是在浏览器内部发生的,因为恶意脚本是通过修改DOM而不是服务器响应来触发的。这使得防御和检测变得更加复杂。

要防止DOM XSS攻击,可以采取以下措施:

  • 输入验证和过滤:仍然需要在服务器端对输入数据进行验证和过滤,以防止恶意数据进入应用程序。
  • 输出编码:确保在将用户输入显示在页面上之前对其进行适当的编码,以防止脚本注入。
  • 避免直接操作DOM:避免通过字符串拼接等方式直接操作DOM,因为这可能会导致不当的脚本插入。
  • 使用安全的API:使用安全的DOM操作API来动态修改网页内容,以避免不受控制的脚本插入。
  • 安全库和框架:使用已验证和被广泛接受的安全库和框架来处理用户输入和输出,以减少XSS风险。
  • 教育用户:教育用户识别和避免点击可疑链接,提高他们对网络安全的意识。

由于DOM XSS攻击的特殊性质,防御措施可能需要更多的专业知识和技术。对于开发人员来说,了解DOM操作的安全最佳实践以及相关的Web安全原则至关重要。

4.2 靶场-DOM型xss

直接查看源代码,如下所示:

<?php
/**
 * Created by runner.han
 * There is nothing new under the sun
 */


$SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1);

if ($SELF_PAGE = "xss_dom.php"){
    $ACTIVE = array('','','','','','','','active open','','','','','active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','');
}

$PIKA_ROOT_DIR =  "../../";
include_once $PIKA_ROOT_DIR.'header.php';

include_once $PIKA_ROOT_DIR."inc/config.inc.php";
include_once $PIKA_ROOT_DIR."inc/mysql.inc.php";


if(isset($_GET['text'])){
    $haha = "这里是后台的处理逻辑";
}

?>

<div class="main-content">
    <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">xss</a>
                </li>
                <li class="active">DOM型xss</li>
            </ul><!-- /.breadcrumb -->

            <a href="#" style="float:right" data-container="body" data-toggle="popover" data-placement="bottom" title="tips(再点一下关闭)"
               data-content="先到这里把什么是dom搞明白了在说http://www.w3school.com.cn/htmldom/">
                点一下提示~
            </a>

        </div>
        <div class="page-content">

            <div id="xssd_main">
                <script>
                    function domxss(){
                        var str = document.getElementById("text").value;
                        document.getElementById("dom").innerHTML = "<a href='"+str+"'>what do you see?</a>";
                    }
                    //试试:'><img src="#" onmouseover="alert('xss')">
                    //试试:' onclick="alert('xss')">,闭合掉就行
                </script>
                <!--<a href="" onclick=('xss')>-->
                <input id="text" name="text" type="text"  value="" />
                <input id="button" type="button" value="click me!" onclick="domxss()" />
                <div id="dom"></div>
            </div>


        </div><!-- /.page-content -->
    </div>
</div><!-- /.main-content -->





<?php
include_once $PIKA_ROOT_DIR.'footer.php';
?>

处理逻辑:

  1. 把我们输入的内容直接放在了a标签的href属性中

利用方式

  1. 闭合href属性或者a标签,后接js代码就可以
  2. 代码处理直接在前端操作DOM,由浏览器解析执行

5 问题总结

6.1 再次启动pikachu容器报错

报错提示如下

┌──(root💀kali)-[~]
└─# docker container start pikachu
Error response from daemon: driver failed programming external connectivity on endpoint pikachu (3b21e12093978ba2477a22cd872ee2074e50854990788188dd79636fc42734c0):  (iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.2 --dport 3306 -j ACCEPT: iptables: No chain/target/match by that name.
 (exit status 1))
Error: failed to start containers: pikachu

  • 参考stackoverflow 解决方法
  1. 第一步 Clear all chains
sudo iptables -t filter -F
sudo iptables -t filter -X
  1. 第二步,重启docker服务
systemctl restart docker

结语

❓QQ:806797785

⭐️文档笔记地址:https://gitee.com/gaogzhen/math

参考:

[1]2021Kali系列 – Kali安装与配置[CP/OL].

[2]Kali Linux安装及基本配置[CP/OL].

[3]phpstudy-linux面板(小皮面板)[CP/OL].

[4]安全漏洞靶场docker安装系列-pikachu[CP/OL].

[5]centos7安装docker并搭建DVWA靶场和Pikachu靶场[CP/OL].

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/877811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于架构的软件开发方法

基于架构的软件开发方法 基于架构的软件开发方法是由架构驱动的&#xff0c;即指由构成体系结构的商业、质量和功能需求的组合驱动的。使用ABSD 方法&#xff0c;设计活动可以从项目总体功能框架明确就开始&#xff0c;这意味着需求抽取和分析还没有完成(甚至远远没有完成)&am…

ComponentOne Studio ASP.NET MVC Crack

ComponentOne Studio ASP.NET MVC Crack FlexReport增强功能 添加了对在Microsoft Windows上部署Microsoft Azure的支持。 添加了对显示嵌入字体的支持。 .NET标准版的经典C1PDF(Beta版) GrapeCity的经典C1Pdf库现在提供了基于Microsoft.NET标准的版本。在任何.NET应用程序(包括…

Linux常用有关目录的基本命令

一、目录管理 1、绝对路径和相对路径&#xff1a; 绝对路径&#xff1a; 路径的写法&#xff0c;由跟目录 / 写起&#xff0c;例如&#xff1a;/usr/share/doc这个目录。 相对路径&#xff1a; 路径的写法&#xff0c;不是由 / 写起&#xff0c;例如由 /usr/share/doc 要到 /u…

如何求解粘聚力和内摩擦角?

1.直接由莫尔应力圆及包络线得到 由于三轴条件下&#xff0c;试样以宏观破裂面破坏&#xff0c;所以试件是以剪切的方式破坏的&#xff0c;根据库伦强度准则&#xff0c;其抗剪强度 τ m \tau_m τm​ 可以通过粘聚力 c c c 和内摩擦角 φ \varphi φ 确定&#xff0c;表示为…

一百五十四、Kettle——Linux上安装Kettle9.3(踩坑,亲测有效,附截图)

一、目的 由于kettle8.2在Linux上安装后&#xff0c;共享资源库创建遇到一系列问题&#xff0c;所以就换成kettle9.3 二、kettle版本以及安装包网盘链接 kettle9.3.0安装包网盘链接 链接&#xff1a;https://pan.baidu.com/s/1MS8QBhv9ukpqlVQKEMMHQA?pwddqm0 提取码&…

【Sklearn】基于决策树算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于决策树算法的数据分类预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理1.1 模型原理1.2 数学模型 2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果 1.模型原理 决策树是一种基于树状结构的分类和回归模型&#xff0c;它通过一系列…

Kotlin开发笔记:类层次结构和继承

Kotlin开发笔记&#xff1a;类层次结构和继承 简介 面向对象编程的语言中&#xff0c;关于对象层次的抽象是很重要的&#xff0c;这会涉及到类层次的结构&#xff0c;接口和继承等内容&#xff0c;本篇文章将会介绍与之相关的内容&#xff0c;包括&#xff1a; 接口的相关内容…

配置网络设置和修改主机名

bash 题目&#xff1a; 在 node1 上配置网络&#xff0c;要求如下&#xff1a; 主机名&#xff1a;node1.domain8.rhce.cc IP地址: 172.25.250.10/24 ##注意掩码 网关&#xff1a; 172.25.250.250 DNS&#xff1a; 172.25.250.250 ##名称服务器 做法&#xff1a; nmtui 回车…

Modbus RTU校验码CRC16全字节查表的VB6实现方法

全字节表比半字节表数据精简&#xff0c;比纯计算速度快&#xff0c;实现起来方便&#xff0c;但是在VB6下或是在普通单片机上要变通处理&#xff0c;因为双字节变量处理会溢出而数据失真。 先看一下CSDN上网友XCS101的C程序 CRC-16/MODBUS 算法的三种实现方法_crc16modbus校验…

风险区分度—IV、KS和分布

IV和KS是风控中常用的评估指标&#xff0c;用于衡量变量的预测能力和区分度。一般来说&#xff0c;IV和KS值越大&#xff0c;表示该变量的预测能力越强。本文从IV和KS以及两者之间的关系方面作一些思考。 一、IV值 一般来说&#xff0c;IV计算用于筛选变量&#xff0c;常用来评…

记一次现场找不到配置的神奇报错,(其实配置是完整的)

记一次现场找不到配置的神奇报错&#xff0c;&#xff08;其实配置是完整的&#xff09; 问题的原因为因为配置文件中符号的问题。 报错找不到url1 **Notepad**打开的文件 如图是两份看起来一模一样的配置&#xff0c;其中一个就会报错找不到某某配置。 实际有细小的差别 …

纷享销客稳居2022 H2 SFA SaaS 本土CRM厂商市场份额 TOP 1

近期&#xff0c;国际知名研究机构IDC公布了2022年下半年《中国客户关系管理(CRM)SaaS市场跟踪研究报告》&#xff0c;报告全面解析了中国CRM SaaS以及细分市场SFA SaaS的市场现状&#xff0c;并对全球各大厂商在中国SFA市场的份额占比进行了排名。连接型CRM开创者纷享销客在SF…

AAAI 最佳论文列表(1984→2023最新)附论文下载

明天AAAI全文截稿了&#xff0c;不知道大家的论文投的咋样啦&#xff1f;我不得不提一句&#xff0c;今年的AAAI投稿量又破新高了&#xff0c;快14,000&#xff01;卷哭... 不过这个投稿量也在意料之中&#xff0c;AAAI属于中国计算机学会CCF的A类国际学术会议&#xff0c;在人…

Unity zSpace 开发

文章目录 1.下载 zSpace 开发环境1.1 zCore Unity Package1.2 zView Unity Package 2. 导入工程3. 发布设置4.功能实现4.1 用触控笔来实现对模型的拖拽&#xff1a; 5. 后续更新 1.下载 zSpace 开发环境 官网地址 1.1 zCore Unity Package zSpace 开发核心必须 1.2 zView …

Nacos使用SpringCloudAlibaba+Dubbo实现

Nacos简介 Nacos是阿里的一个开源产品&#xff0c;它是针对微服务架构中的服务发现、服务治理、配置管理的综合型解决方案。 官方介绍是这样的&#xff1a; Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集&#xff0c;帮助您实现动态服务发现、…

【QT】 Word模板编辑、转PDF格式

很高兴在雪易的CSDN遇见你 ,给你糖糖 欢迎大家加入雪易社区-CSDN社区云 前言 本文分享基于QT进行Word模板编辑以及Word转PDF的技术,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 目录 …

微信开发之一键退出群聊的技术实现

简要描述&#xff1a; 退出群聊 请求URL&#xff1a; http://域名地址/quitChatRoom 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wI…

微信小程序实现左滑删除

一、效果 二、代码 实现思路使用的是官方提供的 <movable-area> <movable-view> Page({/*** 页面的初始数据*/data: {pushedData:[{messageTitle:饼干,messageContent:饼干爱吃}],//已推送数据},/*** 生命周期函数--监听页面加载*/onLoad() {},/*** 生命周期函数-…

设计列表和超链接

在网页中&#xff0c;大部分信息都是列表结构&#xff0c;如菜单栏、图文列表、分类导航、新闻列表、栏目列表等。HTML5定义了一套列表标签&#xff0c;通过列表结构实现对网页信息的合理排版。另外&#xff0c;网页中还包含大量超链接&#xff0c;通过它实现网页、位置的跳转&…

【计算机视觉|生成对抗】带条件的对抗网络进行图像到图像的转换

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;Image-to-Image Translation with Conditional Adversarial Networks 链接&#xff1a;Image-to-Image Translation with Conditional Adversarial Networks | IEEE Conference Publicati…