好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

web安全从零开始 - 网站安全 - 自学php

先给个网址吧!

https://HdhCmsTestpentesterlab测试数据/bootcamp/ bootcamp新兵训练营的意思。 不废话,直接第一周。

一、HTTP协议,中文翻译超文本传输协议。 http://zh.wikipedia.org/wiki/%E8 … 3%E5%8D%8F%E8%AE%AE 注意要点: (1)它是一种网络协议。 (2)HTTP/1.1协议定义了八种方法来以不同方式操作指定的资源。 (3)http请求信息的格式。(请求行和标题必须以<CR><LF>作为结尾。空行内必须只有<CR><LF>而无其他空格) 学习方法:我们不需要知道http协议的具体内容,我们只需要知道怎么使用他就行了(也就是怎么通过不同的方法来操作指定资源的)。 学习工具:各种可以拦截http请求的工具。(burpsuite , webscarab等等。。) 学习例子: (1)iis安全配置 先看漏洞原因:  http://HdhCmsTest2cto测试数据/Article/201307/228165.html 用nc测试向含漏洞的服务发送不同的http请求,来达到写入webshell的目的。 附一个测试链接:   http://HdhCmsTest2cto测试数据/Article/201310/249284.html (2)CRLF注入 此漏洞php版本只存在在历史中,现在新版本的服务器都有过滤。所以无法漏洞复现,但可以通过webgoat(jsp的)来测试。 附一个测试链接  http://HdhCmsTest2cto测试数据/Article/201310/249285.html 主要是学习http协议怎么应用,而不是它的实质是什么。 二、DNS系统 http://zh.wikipedia.org/wiki/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F 注意要点:一定要把内容通读一遍。知道什么是A记录,CNAME记录等等。。 学习例子:DNS域传送漏洞 先看漏洞原因:  http://HdhCmsTest2cto测试数据/Article/201310/249287.html 利用工具:dnsenum 举例:dnsenum moliyo测试数据(刚刚乌云随意搜的例子) 三、WHOIS,用来查询互联网域名的ip和所有者的协议。 http://zh.wikipedia.org/wiki/WHOIS 学习例子:利用工具查询域名的所有者信息。 四、Network socket http://en.wikipedia.org/wiki/Internet_socket 1、每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。 2、进程通信之前,双方首先必须各自创建一个端点,否则是没有办法建立联系并相互通信的 3、对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别 4、根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认 5、服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。 6、客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。 7、客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。 socket()   为通讯创建一个端点,为套接字返回一个文件描述符。 函数原型:int socket(int domain, int type, int protocol); bind()为一个套接字分配地址 函数原型:int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen); listen()当socket和一个地址绑定之后,listen()函数会开始监听可能的连接请求 函数原型:int listen(int sockfd, int backlog); accept():当应用程序监听来自其他主机的面对数据流的连接时,通过事件(比如Unix select()系统调用)通知它。必须用 accept()函数初始化连接。 Accept() 为每个连接创立新的套接字并从监听队列中移除这个连接 函数原型:int accept(int sockfd, struct sockaddr *cliaddr, socklen_t *addrlen); connect():connect()系统调用为一个套接字设置连接,参数有文件描述符和主机地址。 函数原型:int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen); 学习示例: C语言的socket举例 http://zh.wikipedia.org/wiki/Socket python语言的socket举例 。。。不贴代码了,自己看学。

另外,就要安装linux开始学习linux,学习一门语言。ruby或python,两者随意。

Ps:写完了,感觉我像个sb,写的什么玩意阿,自己菜的一逼,还在这意淫。噢擦,睡觉。

补充内容 (2013-9-30 09:56): 关于socket,还可以通过学习php socket反弹shell来学习 参考文章 http://HdhCmsTest2cto测试数据/News/201301/182042. html

查看更多关于web安全从零开始 - 网站安全 - 自学php的详细内容...

  阅读:46次