jQuery

article/2025/11/5 2:04:37

##jQuery基础

        1.概念:一个JavaScript框架。简化JS开发

                *jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resig发布。   jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

                *JavaScript框架:本质上就是一些js文件,封装了js的原生代码而已

        2.快速入门

                1.步骤:              

                 2.导入jQuery的js文件:导入min.js文件

                3.使用

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>jQuery快速入门</title><script src="js/jquery-3.3.1.min.js"></script>
</head>
<body>
<div id="div1">div1.....</div>
<div id="div2">div3.....</div><script>alert($("#div1").html());alert($("#div2").html());
</script>
</body>
</html>

                 3.jQuery对象和JS对象区别与转换

                        1.JQuery对象在操作时,更加方便

                        2.JQuery对象和js对象方法不通用的

                        3.两者互相转换

                                *jq --> js:jq对[索引] 或者 jq对象.get(索引)

                                *js --> jq :$(js对象)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="js/jquery-3.3.1.min.js"></script>
</head>
<body>
<div id="div1">div1....</div>
<div id="div2">div2....</div><script>//1.通过js来获取名称叫div的所有html对象var divs = document.getElementsByTagName("div");alert(divs);//可以将其当做数组for (let i = 0; i < divs.length; i++) {// divs[i].innerHTML = "aaaa";$(divs[i]).html("qqqq");}//2.通过jq方式来获取名称叫div的所有html对象var $div = $("div");alert($div);//也可以将其当做为数组// $div.html("bbb");$div[0].innerHTML = "cccccc";
</script>
</body>
</html>

         4.选择器:筛选具有相似特征的元素(标签)

                1.基本语法学习:

                        1.事件绑定:$(“id”)

                        2.入口函数:$(function( ) {       } );

                        3.样式控制:$(function( ){ $("id").css( 属性 , 属性值 )   })

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>事件绑定</title><script src="js/jquery-3.3.1.min.js"></script><script>/** window.onload 和 $(function)的区别*   *window.onload 只能定义一次,如果定义多次,后边的会将前边的覆盖掉*   *$(function)可以定义多次* */$(function () {$("#div1").css("backgroundColor","red")});</script>
</head>
<body>
<div id="div1">div1......</div>
<div id="div2">div2......</div>
<input type="button" id="bb" value="点我"><script>$("#bb").click(function () {alert("aaa")});
</script>
</body>
</html>

                 2.分类

                        1.基本选择器

                                1.标签选择器(元素选择器)

                                        *语法:$("html标签名") 获得所有匹配标签名名称的元素

                                2.id选择器

                                        *语法:$("#id的属性值") 获得与指定id属性值匹配的元素

                                3.类选择器

                                        *语法:$(".class的属性值") 获得与指定的class属性值匹配的元素

                                4.并集选择器

                                        *语法:$("选择器1,选择器2.....")  获取多个选择器选中的所有元素

	<script type="text/javascript">// <input type="button" value="改变 id 为 one 的元素的背景色为 红色"  id="b1"/>$(function () {$("#b1").click(function () {$("#one").css("backgroundColor","red");});});// <input type="button" value=" 改变元素名为 <div> 的所有元素的背景色为 红色"  id="b2"/>$(function () {$("#b2").click(function () {$("div").css("backgroundColor","pink");});});// <input type="button" value=" 改变 class 为 mini 的所有元素的背景色为 红色"  id="b3"/>$(function () {$("#b3").click(function () {$(".mini").css("backgroundColor","blue");});});// <input type="button" value=" 改变所有的<span>元素和 id 为 two 的元素的背景色为红色"  id="b4"/>$(function () {$("#b4").click(function () {// $("span").css("backgroundColor","yellow");// $("#two").css("backgroundColor","yellow");$("#two,span").css("backgroundColor","yellow");});});</script>

                 2.层级选择器

                        1.后代选择器

                                *语法:$("A  B") 选择A元素内部的所有B元素

                        2.子选择器

                                *语法:$("A > B")  选择A元素内部的所有B子元素         

                3.属性选择器

                        1.属性名称选择器

                                *语法:$( " A [ 属性名 ] " )  包含指定属性的选择器

                        2.属性选择器

                                *语法:$(" A [ 属性名 =‘ 值 ’] ")  包含指定属性等于指定值得选择器

                                *不等于为:!=  ,以te开始为: ^=' te '   ,以est结束:$='est'  ,包含te:*=‘te’

                        3.复合属性选择器

                                *语法:$ ( '' A [ 属性名 = ‘ 值 ’ ] [ ] ....'') 包含多个属性条件的选择器 

 <script type="text/javascript">// <input type="button" value=" 含有属性title 的div元素背景色为红色"  id="b1"/>$(function () {$("#b1").click(function () {$("div[title]").css("backgroundColor","pink");});});// <input type="button" value=" 属性title值等于test的div元素背景色为红色"  id="b2"/>$(function () {$("#b2").click(function () {$("div[title='test']").css("backgroundColor","yellow");});});// <input type="button" value=" 属性title值不等于test的div元素(没有属性title的也将被选中)背景色为红色"  id="b3"/>$(function () {$("#b3").click(function () {$("div[title != 'test']").css("backgroundColor","blue");});});// <input type="button" value=" 属性title值 以te开始 的div元素背景色为红色"  id="b4"/>$(function () {$("#b4").click(function () {$("div[title ^= 'te']").css("backgroundColor","blue");});});// <input type="button" value=" 属性title值 以est结束 的div元素背景色为红色"  id="b5"/>$(function () {$("#b5").click(function () {$("div[title $= 'est']").css("backgroundColor","blue");});});// <input type="button" value="属性title值 含有es的div元素背景色为红色"  id="b6"/>$(function () {$("#b6").click(function () {$("div[title *= 'es']").css("backgroundColor","blue");});});// <input type="button" value="选取有属性id的div元素,然后在结果中选取属性title值含有“es”的 div 元素背景色为红色"  id="b7"/>$(function () {$("#b7").click(function () {$("div[id][title *= 'es']").css("backgroundColor","blue");});});</script>

                4.过滤选择器

                        1.首元素选择器

                                *语法: :first 获得选择的元素中的第一个元素

                        2.尾元素选择器

                                *语法: :last 获得选择的元素中的最后一个元素

                        3.非元素选择器

                                *语法: :not(selecter)不包括指定内容的元素

                        4.奇数选择器

                                *语法: :odd  奇数,从0开始计数

                        5.偶数选择器

                                *语法: :even 偶数,从0开始计数

                        6.等于索引选择器

                                *语法: :eq(index) 指定索引元素

                        7.大于索引选择器

                                *语法: :gt(index) 大于指定索引元素

                        8.小于索引选择器

                                *语法: :lt(index) 小于指定索引元素

                        9.标题选择器

                                *语法: :header  获得标题元素,固定写法

	<script type="text/javascript">// <input type="button" value=" 改变第一个 div 元素的背景色为 红色"  id="b1"/>$(function () {$("#b1").click(function () {$("div :first").css("backgroundColor","yellow");});});// <input type="button" value=" 改变最后一个 div 元素的背景色为 红色"  id="b2"/>$(function () {$("#b2").click(function () {$("div :last").css("backgroundColor","pink");});});// <input type="button" value=" 改变class不为 one 的所有 div 元素的背景色为 红色"  id="b3"/>$(function () {$("#b3").click(function () {$("div :not(.one)").css("backgroundColor","red");});});// <input type="button" value=" 改变索引值为偶数的 div 元素的背景色为 红色"  id="b4"/>$(function () {$("#b4").click(function () {$("div :even").css("backgroundColor","red");});});// <input type="button" value=" 改变索引值为奇数的 div 元素的背景色为 红色"  id="b5"/>$(function () {$("#b5").click(function () {$("div :odd").css("backgroundColor","red");});});// <input type="button" value=" 改变索引值为大于 3 的 div 元素的背景色为 红色"  id="b6"/>$(function () {$("#b6").click(function () {$("div :gt(3)").css("backgroundColor","red");});});// <input type="button" value=" 改变索引值为等于 3 的 div 元素的背景色为 红色"  id="b7"/>$(function () {$("#b7").click(function () {$("div :eq(3)").css("backgroundColor","red");});});// <input type="button" value=" 改变索引值为小于 3 的 div 元素的背景色为 红色"  id="b8"/>$(function () {$("#b8").click(function () {$("div :lt(3)").css("backgroundColor","red");});});// <input type="button" value=" 改变所有的标题元素的背景色为 红色"  id="b9"/>$(function () {$("#b9").click(function () {$(" :header").css("backgroundColor","green");});});</script>

                 5.表单过滤选择器

                        1.可用元素选择器

                                *语法: :enabled  获得可用元素

                        2.不可用元素选择器

                                *语法: :disabled  获得不可用元素

                        3.选中选择器

                                *语法: :checked  获得单选/复选框选中的元素

                        4.选中选择器

                                *语法: :selected 获得下拉框选中的元素

    <script type="text/javascript">// <input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内可用 <input> 元素的值"  id="b1"/>$(function () {$("#b1").click(function () {$("input[type='text']:enabled").val('aaa');});});// <input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内不可用 <input> 元素的值"  id="b2"/>$(function () {$("#b2").click(function () {$("input[type='text']:disabled").val('aaa');});});// <input type="button" value=" 利用 jQuery 对象的 length 属性获取复选框选中的个数"  id="b3"/>$(function () {$("#b3").click(function () {alert($("input[type='checkbox']:checked").length);});});// <input type="button" value=" 利用 jQuery 对象的 length 属性获取下拉框选中的个数"  id="b4"/>$(function () {$("#b4").click(function () {alert($("select > option:selected").length);});});</script>

         5.DOM操作

                1.内容操作

                        1.html():获取/设置元素的标签体内容   <a><font>内容</font></a>  --> <font>内容</font>

                        2.text():获取/设置元素的标签体纯文本内容     <a><font>内容</font></a>    --> 内容

                        3.val(): 获取/设置元素的value属性值

	<script>// 获取myinput 的value值$(function () {alert($("#myinput").val());});// 获取mydiv的标签体内容$(function () {alert($("#mydiv").html());});// 获取mydiv文本内容$(function () {alert($("#mydiv").text());});</script>

                2.属性操作

                        1.通用属性操作

                                1.attr():获取/设置元素的属性

                                2.removeAttr():删除元素

                                3.prop():获取/设置元素属性

                                4.removeProp():删除属性

                                *attr和prop的区别?

                                        1.如果操作的是元素的固有属性,则建议使用prop

                                        2.如果操作的是元素的自定义属性,则建议使用attr

	<script type="text/javascript">//获取北京节点的name属性值$(function () {alert($("#bj").attr("name"));});//设置北京节点的name属性的值为dabeijing$(function () {$("#bj").attr("name","dabejing");});//新增北京节点的discription属性 属性值是didu$(function () {$("#bj").attr("discription","didu");});//删除北京节点的name属性并检验name属性是否存在$(function () {$("#bj").removeAttr("name");});//获得hobby的的选中状态$(function () {$("#hobby").prop("checked");});</script>

                         2.对class属性操作

                                1.addClass():添加class属性值

                                2.removeClass():删除class属性值

                                3.toggleClass():切换class属性

                                        *toggleClass("one"):判断元素对象上存在class="one",则将属性值one删除掉

    <script type="text/javascript">$(function () {//<input type="button" value="采用属性增加样式(改变id=one的样式)"  id="b1"/>$("#b1").click(function () {$("#one").prop("class","second");});//<input type="button" value=" addClass"  id="b2"/>$("#b2").click(function () {$("#one").addClass("second");});//<input type="button" value="removeClass"  id="b3"/>$("#b3").click(function () {$("#one").removeClass("second");});//<input type="button" value=" 切换样式"  id="b4"/>$("#b4").click(function () {$("#one").toggleClass("second");});//<input type="button" value=" 通过css()获得id为one背景颜色"  id="b5"/>$("#b5").click(function () {var css = $("#one").css("backgroundColor");alert(css);});//<input type="button" value=" 通过css()设置id为one背景颜色为绿色"  id="b6"/>$("#b6").click(function () {$("#one").css("backgroundColor","green");});});</script>

                3.CRUD操作

	 <script type="text/javascript">$(function () {// <input type="button" value="将反恐放置到city的后面"  id="b1"/>$("#b1").click(function () {$("#fk").appendTo($("#city"));$("#city").append($("#fk"));});// <input type="button" value="将反恐放置到city的最前面"  id="b2"/>$("#b2").click(function () {$("#fk").prependTo($("#city"));$("#city").prepend($("#fk"));});// <input type="button" value="将反恐插入到天津后面"  id="b3"/>$("#b3").click(function () {$("#tj").after($("#fk"));});// <input type="button" value="将反恐插入到天津前面"  id="b4"/>$("#b4").click(function () {$("#fk").before($("#tj"));});});</script>
// <input type="button" value="删除<li id='bj' name='beijing'>北京</li>"  id="b1"/>$(function () {$("#b1").click(function () {$("#bj").remove();});})// <input type="button" value="删除city所有的li节点   清空元素中的所有后代节点(不包含属性节点)"  id="b2"/>$(function () {$("#b2").click(function () {$("#city").empty();});})

##jQuery高级

        1.动画:

                1.三种方式显示和隐藏元素

                        1.默认显示和隐藏方式

                                1.show([speed,[easing],[fn] ] )

                                2.hide([speed,[easing],[fn] ] )

                                3.toggle( [ speed,[easing],[fn] ] )

                                     1.参数:

                                                1.speed:动画的速度。三个预定义的值("slow","normal","fast")或表示动画时长的毫秒数值(1000)

                                                2.easing:用来指定切换效果,默认是"swing",可用参数"linear"

                                                        *swing:动画执行是效果是 先慢,中间快,最后又慢

                                                        *linear:动画执行时速度是匀速的

                                                3.fn:在动画完成时执行的函数,每个元素执行一次

   <script>function hideFn() {$("#showDiv").hide("slow","swing");}function showFn() {$("#showDiv").show("slow","swing");}function toggleFn() {$("#showDiv").toggle("slow","swing")}</script>

                        2.滑动显示和隐藏方式

                                1.slideDown([speed],[easing],[fn])

                                2.slideUp([speed],[easing],[fn])

                                3.slideToggle([speed],[easing],[fn])

                        3.淡入淡出显示和隐藏方式

                                1.fadeIn([speed],[easing],[fn])

                                2.fadeOut([speed],[easing],[fn])

                                3.fadeToggle([speed],[easing],[fn])

        2.遍历

                1.js的遍历

                        *for(初始化值;循环结束条件;步长)

    <script type="text/javascript">$(function () {var $city = $("#city li");for (let i = 0; i < $city.length; i++) {alert(i+":"+$city[i].innerHTML);}});</script>

                2.jq的遍历方式

                        1.jq对象.each(callback)

                                *回调函数返回值:

                                        *true:如果当前function返回为false,则结束循环(break)

                                        *false:如果当前function返回为true,则结束本次循环,继续下次循环(continue)

                        2.$.each(object,[callback])

                        3.for....of:

    <script type="text/javascript">/* $(function () {var $city = $("#city li");for (let i = 0; i < $city.length; i++) {alert(i+":"+$city[i].innerHTML);}});*/$(function () {var citys = $("#city");/*citys.each(function (index,element) {//获取li对象,第一种方式this// alert(this.innerHTML);//获取li对象,第二种方式,在回调函数中定义参数 index(索引)  element(元素对象)alert(index+":"+element.innerHTML);});*///$.each(object,[callback])$.each(citys,function () {alert(this.innerHTML)});//for...offor (li of citys){alert($(li).html())}});</script>

                 3.事件绑定

                        1.jquery标准的绑定方式

                                jq对象.事件方法(回调函数);

                                *注:如果调用事件方法,不传递回调函数,则会触发浏览器默认行为

                                        *表单对象.submit();//让表单提交

    <script type="text/javascript">$(function () {$("#name").click(function () {alert("我被点击了.....")});$("#name").mouseover(function () {alert("鼠标来喽");});$("#name").mouseout(function () {alert("鼠标走漏");});$("#name").focus();});</script>

                        2.on绑定事件/off接触绑定        

                                jq对象.on("事件名称",回调函数)

                                jq对象.off("事件名称")

 <script type="text/javascript">$(function () {$("#btn").on("click",function () {alert("我被绑定了....")});$("#btn2").click(function () {$("#btn").off("click");//如果括号里没有属性,则会将组件上所有的事件全部解绑});});</script>

                        3.事件切换:toggle(fn1,fn2.....)

                                *注意:1.9版本  .toggle()方法删除,jQuery Migrate(迁移)插件可以恢复此功能

    <script src="../js/jquery-migrate-1.0.0.js"></script><script type="text/javascript">$(function () {$("#btn").toggle(function () {$("#myDiv").css("backgroundColor","red");},function () {$("#myDiv").css("backgroundColor","yellow");});});</script>

 ##    案例之广告的显示与隐藏

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>广告的自动显示与隐藏</title><style>#content{width:100%;height:500px;background:#999}</style><!--引入jquery--><script type="text/javascript" src="../js/jquery-3.3.1.min.js"></script><script>$(function () {setTimeout(showAd,3000);setTimeout(hideAd,8000);});function showAd() {$("#ad").show("slow");}function hideAd() {$("#ad").hide("slow");}</script>
</head>
<body>
<!-- 整体的DIV -->
<div><!-- 广告DIV --><div id="ad" style="display: none;"><img style="width:100%" src="../img/adv.jpg" /></div><!-- 下方正文部分 --><div id="content">正文部分</div>
</div>
</body>
</html>

## 案例之抽奖

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>jquery案例之抽奖</title><script type="text/javascript" src="../js/jquery-3.3.1.min.js"></script><script>$(function () {var imgs = ["../img/man00.jpg","../img/man01.jpg","../img/man02.jpg","../img/man03.jpg","../img/man04.jpg","../img/man05.jpg","../img/man06.jpg"];var startId;var index;//绑定开始单机事件$("#startID").click(function () {$("#startID").prop("disabled",true);$("#stopID").prop("disabled",false);//定义循环定时器startId=setInterval(function () {//生产成随机交表index = Math.floor(Math.random() *7);$("#img1ID").prop("src",imgs[index]);},20);});//绑定结束单机事件$("#stopID").click(function () {$("#startID").prop("disabled",false);$("#stopID").prop("disabled",true);//停止循环定时器clearInterval(startId);$("#img2ID").prop("src",imgs[index]).hide();$("#img2ID").show(1000);});});</script>
</head>
<body><!-- 小像框 -->
<div style="border-style:dotted;width:160px;height:100px"><img id="img1ID" src="../img/man00.jpg" style="width:160px;height:100px"/>
</div><!-- 大像框 -->
<divstyle="border-style:double;width:800px;height:500px;position:absolute;left:500px;top:10px"><img id="img2ID" src="../img/man00.jpg" width="800px" height="500px"/>
</div><!-- 开始按钮 -->
<inputid="startID"type="button"value="点击开始"style="width:150px;height:150px;font-size:22px"onclick="imgStart()"><!-- 停止按钮 -->
<inputid="stopID"type="button"value="点击停止"style="width:150px;height:150px;font-size:22px"onclick="imgStop()"><script language='javascript' type='text/javascript'>//准备一个一维数组,装用户的像片路径var imgs = ["../img/man00.jpg","../img/man01.jpg","../img/man02.jpg","../img/man03.jpg","../img/man04.jpg","../img/man05.jpg","../img/man06.jpg"];</script>
</body>
</html>

        5.插件:增强Jquery的功能

                1.实现方式:

                        1.$.fn.extend(object)

                                *增强通过Jquery获取的对象的功能   $( " #id " )

                        2.$.extend(object)

                                *增强JQuery对象自身功能      $/jQuery

 <script type="text/javascript">$.fn.extend({check:function () {this.prop("checked",true);},uncheck:function () {this.prop("checked",false);}});$(function () {$("#btn-check").click(function () {$("input[type='checkbox']").check();});$("#btn-uncheck").click(function () {$("input[type='checkbox']").uncheck();});});</script>

 

    <script type="text/javascript">//对全局方法扩展2个方法,扩展min方法:求2个值的最小值;扩展max方法:求2个值最大值$.extend({max: function (a,b) {return a>=b ? a:b;},min: function (a,b) {return  a<=b ? a:b;}});$(function () {var max = $.max(3,4);alert(max)});</script>


http://chatgpt.dhexx.cn/article/SGj0l2OA.shtml

相关文章

jQuery建立WebSocket连接

jQuery建立WebSocket连接&#xff0c;向服务端发送数据&#xff0c;实现WebSocket连接成功。 js代码如下&#xff1a; <script src"https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script type"text/javascript">…

WebGoat攻略 for Mac(1)

WebGoat攻略 for Mac&#xff08;1&#xff09; 一、环境配置1.配置Docker2.配置WebGoat3.连接WebGoat 二、题目攻略Introduction(介绍)a.WebGoatb.WebWolf General(通用)a.HTTP Basics(HTTP基础)b.HTTP Proxies配置OWASP ZAP c.Developer Tools(开发人员工具)d.CIA Triade.Cry…

代码审计之WEBGOAT 反序列化

反序列化这关在前端页面可以看到是提交token到后端&#xff0c;先看一下接口名 可以看到接口名为InsecureDeserialization/task&#xff0c;那就后端全局搜索InsecureDeserialization/task&#xff0c;最终定位到InsecureDeserializationTask.java 源码如下&#xff1a; packa…

kali搭建webgoat靶场

下载webgoat-server-8.0.0.M26.jar与webwolf-server-8.0.0.M26.jar&#xff0c;并保存至kali的documents处&#xff0c;并在此打开终端&#xff08;不然无法打开&#xff09; 打开webgoat-server-8.0.0.M26.jar 浏览器访问127.0.0.1:8080/WebGoat/login.html 进行注册且登录 成…

基于 WebGoat 平台的 SQL 注入攻击

基于 WebGoat 平台的 SQL 注入攻击 扩展功能参考: https://blog.csdn.net/HZC0217/article/details/126790211 使用实例参考: https://www.cnblogs.com/hndreamer/p/16635984.html 目录 1、什么是 webgoat? 2、jar 下载 3、环境搭建 4、运行 webgoat 5、在浏览器中登录 …

owaspbwa之WebGoat

简介 下载&#xff1a;https://sourceforge.net/projects/owaspbwa/files/ GitHub: https://github.com/chuckfw/owaspbwa/wiki/UserGuide 0x001 侦查 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu4 (Ubuntu Linux; protoc…

WebGoat之JWT部分攻略

环境搭建 使用docker容器搭建webgoat环境 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准.该token被设计为紧凑且安全的&#xff0c;特别适用于分布式站点的单点登录&#xff08;单点登录SSO&#xff1a;在多个应用系统中&…

Webgoat靶场搭建

环境 jdk16 安装 文件源码看评论区哈。 下载过后是这个jdk-16.0.2.7z文件&#xff0c;这是个JDK16的包,进入bin目录下&#xff0c;可以看到靶场文件&#xff0c; 启动网站 打开一个cmd窗口执行启动网站命令 java --add-opens java.base/sun.nio.chALL-UNNAMED --add-op…

WebGoat通关教程

这里我们用docker镜像一键搭建即可 用docker命令开启webgoat docker run -d -p 8081:8080 -p 9090:9090 -e TZEurope/Amsterdam webgoat/goatandwolf 打开192.168.109.131:8081/WebGoat和192.168.109.131:9090/WebWolf能打开即可 192.168.109.131是本地IP 直接注册一个账号&…

在Ubuntu环境下使用docker配置webgoat环境

1.安装Docker环境 sudo apt install docker.io 2.配置Docker加速 打开配置文件 vim /etc/docker/daemon.json添加mirrors信息 {"registry-mirrors":["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]}3.重启docker system…

WebGoat General Crypto Basics

目录 第2页 第3页 第4页 第6页 第2页 这一页是讲base64编码和Basic Authentication的 简单来说Basic Authentication中使用了base64编码&#xff0c;以本页的题目举例&#xff0c;如果有个HTTP头长这样 Authorization: Basic ZmFuY3llbGU6c2VjcmV0 那这个网站就是用了Basi…

docker安装webgoat

docker安装webgoat 一般来说 无需docker&#xff0c;在 https://github.com/WebGoat/WebGoat/releases中&#xff0c;下载最新的v8.2.2.jar,然后java -jar webgoat-server-8.2.2.jar然后反问http://127.0.0.1/WebGoat即可 但是&#xff0c;由于本人windows主机(java10.0.2)和ka…

WebGoat-8.2.2版靶机学习总结

摘要&#xff1a;本文档介绍了WebGoat靶机平台在Windows10系统下的使用。其操作过程均在一台主机上完成。该平台涉及的训练项目有http代理、数据库注入、身份校验缺陷、XSS、访问控制缺陷、通信拦截、序列化问题、CSRF、问题组件等内容&#xff0c;帮助学习者学习网络攻防基础&…

WebGoat安装

WebGoat是运行在Java虚拟机的WEB漏洞实验靶场,可以提供包括跨站点脚本攻击(XSS),访问控制,线程安全,操作隐藏字段,操纵参数,弱会话cookie,SQL盲注,数字型SQL注入,字符串型SQL注入,web服务、Open Authentication失效,危险的HTML注释等多个漏洞练习. 使用WebGoat的方式有很多,我…

WebGoat v8.0打靶笔记

目录 一、环境的配置 &#xff08;1&#xff09;安装docker &#xff08;2&#xff09;WebGoat获取 &#xff08;3&#xff09;burp suite的配置 二、Introduction 三、General &#xff08;1&#xff09;HTTP Basics &#xff08;2&#xff09;HTTP Proxies &#…

安装WebGoat步骤

安装Webgoat步骤 安装目的&#xff1a;了解并深入目前安全行业的OWASP ten 10漏洞 何为Webgoat? Webgoat内置OWASP十大漏洞 安装过程 下载webgoat架包 地址 创建一个文件夹&#xff0c;将上面框出的架包复制到文件夹里 检测JAVA环境 使用之前得先把Java的版本升级一下…

WebGoat部分题目

一、文件上传漏洞 1、跨目录脚本执行 上传的脚本文件在网站存放上传文件的目录下被限制执行&#xff0c;于是我们把上传的脚本文件放到根目录去执行。 靶场情况&#xff1a; 如上图所示&#xff0c;假设的根目录为C:\Users\Administrator/.webgoat-2023.4/PathTraversal &am…

linux部署webgoat

文章目录 程序包准备上传部署 程序包准备 github上下载程序包&#xff0c;如果太慢可以点击 下载webgoat-server-8.2.2 .jar 上传部署 将包上传到服务器上&#xff0c;需要说明该包依赖java环境且对java版本要求较高&#xff0c;我们这里是用java17进行部署&#xff0c;需要…

WebGoat靶场搭建及通关记录(一)

文章目录 前言一、搭建靶场二、通关攻略1.GeneralHTTP BasicsHTTP Proxies 2.Injection FlawsSQL Injection (advanced)SQL InjectionSQL Injection (mitigation)XXE 3.Authentication FlawsAuthentication BypassesJWT tokens 总结 前言 搭建WebGoat靶场&#xff0c;以前没玩…

WebGoat安装配置

WebGoat安装配置 WebGoat是由OWASP维护的故意不安全的Web应用程序&#xff0c;旨在教授Web应用程序安全性课程。该程序演示了常见的服务器端应用程序缺陷。 这些练习旨在供人们学习应用程序安全性和渗透测试技术。 要从源码安装并运行WebGoat需要运用到许多工具&#xff0c;并…