介绍
  这份文档主要介绍渗透测试所需要的知识.PentesterLab准备将测试的基本知识和常见的漏洞总结到一张CD中.
  关于这份文档
  遵守的条约
  PentersterLab出品的渗透攻略遵守Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License条约.要得到这个条约的说明,请猛戳http://creativecommons.org/licenses/by-nc-nd/3.0/.
  文档的一些说明
  后期将提供一些相关的作业,还有参考链接以供大家深入学习
  web应用程序
  系统启动后,可以用ifconfig命令获取当前的ip地址:
  $ ifconfig eth0
  eth0 Link encap:Ethernet HWaddr 52:54:00:12:34:56
  inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
  inet6 addr: fe80::5054:ff:fe12:3456/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  RX packets:88 errors:0 dropped:0 overruns:0 frame:0
  TX packets:77 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000
  RX bytes:10300 (10.0 KiB) TX bytes:10243 (10.0 KiB)
  Interrupt:11 Base address:0x8000
  这个例子中,ip地址是10.0.2.15.
  在整个训练中,我们用来模拟受害机器的主机名叫vulneralble.你可以用ip地址来代替主机名,或者你可以在host文件中添加主机名和对应的ip地址.
  windows下,host文件位于
  C:WindowsSystem32Driversetchosts Unix/Linux和Mac OS X下,host文件位于
  /etc/hosts 提示:ip重启机器后,ip地址会改变,也许你需要在host文件中做一些对应的更新.
  访问web程序后,可以看到下面的页面

  Web
  很多公司可能都有开放了web服务,并且,很多应用程序现在都有了web版本.由此,
  web安全的重要性不言而喻.
  web安全模型
  web安全模型的精髓很简单:不要相信客户提交的数据.服务端得到的大部分信息都是客户端提交的.我们好过滤和转义用户提交的数据.
  web安全风险
  web应用程序带来的风险和其他类型的程序带来的是一样的:
  ·                    信息泄漏
  ·                    形象损失
  ·                    信息丢失
  ·                    经济损失
  web技术
  构架
  大多数的web程序以来三个组件:
  · 客户端:大部分情况下是浏览器
  ·用来接受客户端请求的web服务器.
  一个应用程序服务器会处理这个请求,这种情况下,web服务器只是把请求传递给了应用程序服务器.
  · 用来存放信息的存储后端:通常是数据库.
  这些组件的不同行为可能暴露出弱点和安全问题.
  客户端技术
  每天被用到的客户端技术大部分是HTML,JavaScript,Flash…通过浏览器(谷歌,火狐IE等)连接服务端.不过,web程序的客户端也可能是一段连接web服务的脚本而已.
  服务端技术
  在服务端有很多的技术会被用到,即使这些技术都容易收到攻击.
  这些技术可以细分为下面几种
  ·                    web服务器
  如Apache,lighttpd,Nginx,IIS…
  ·                    应用程序服务器
  如Tomcat,Jboss,Oracle Application server
  ·                    编程语言
  入PHP, Java, Ruby, Python, ASP,C#, …编程语言也可以被用到一些框架中,如Ruby-on-Rails,.Net MVC,Django.
  存储后端
  存储后端可以和web服务器位于同一机器上,也可以位于不同机器上.
  一些存储后端的例子:
  ·                    文件存储
  ·                    关系数据库
  比如Mysql,Oracle, SQL Server, PostgreSQL.
  ·                    其他的数据库
  比如MongoDB, CouchDB.
  ·                    目录
  比如openLDAP或者活动目录 .
  一个应用程序可以使用多种存储的方法.比如说,一些程序用LDAP来存用户名和密码,同时用Oracle来存用户的其他信息.