我对xss以及sql的理解


本文作者:情殇(查看作者所有博文

作者邮箱:3135117931@qq.com

发布时间: Fri, 12 Jul 2019 19:16:00 +0800

Xss和sql基础原理

1.Xss(跨站脚本)基础

XSS 漏洞简介
跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。

常见的输出函数有: echo printf print print_r sprintf die var-dump var_export.

分类
反射型XSS:非持久 就是攻击者先制作好一个攻击的链接,然后去骗目标去点击这个链接,用户点击后就会触发xss代码。
存储型XSS:持久化 存储型的xss是存储在服务器中的,如在一些博客留言页面加入xss代码,如果没有过滤,那这个代码就会存储在服务器里面,每当一个用户访问你留下xss代码的页面,就会触发代码。
DOM型XSS:dom型和反射型的差不多都是存在于网页上不依赖于提交数据到服务器,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞

2.sql注入基础

1 SQL注入简介 
SQL注入攻击是将精心构造的恶意SQL语句插入或添加到用户的输入参数中,再将这些参数传递给后台的SQL服务器加以解析并执行的攻击。 
即SQL注入攻击是一种利用数据库驱动的Web应用所固有的特性(用户输入的参数将会直接输送到Web应用架构的逻辑层上),以及Web应用开发人员对用户输入的参数没有进行严格的审查所引发的漏洞的攻击。 
理解:这是一种由当前数据库驱动的Web应用架构所决定的特性,不改变架构则该特性一直存在。因此安全人员需要做的就是对用户输入的参数进行详细的考虑和处理,避免出现SQL注入漏洞。
3.sql注入方式
直接把代码插入到参数中:这些参数会被置入sql命令中加以执行
把恶意代码插入到字符串中:此后这些数据将会保存到数据库的数据表中或被当作元数据,当将存储的字符串置入动态SQL命令时,恶意代码就将被执行。
注入方法:

1.猜表名。列名等
先猜表名

And (Select count(*) from 表名)<>0

猜列名

And (Select count(列名) from 表名)<>0

或者也能够这样

and exists (select * from 表名)
and exists (select 列名 from 表名)

返回正确的,那么写的表名或列名就是正确
2.后台身份验证绕过漏洞

验证绕过漏洞就是'or'='or'后台绕过漏洞,利用的就是AND和OR的运算规则,从而造成后台脚本逻辑性错误
比如管理员的账号password都是admin。那么再比方后台的数据库查询语句是

user=request("user")
passwd=request("passwd")
sql='select admin from adminbate where user='&'''&user&'''&' and passwd='&'''&passwd&'''

那么我使用'or 'a'='a来做usernamepassword的话,那么查询就变成了

select admin from adminbate where user=''or 'a'='a' and passwd=''or 'a'='a'

这种话,依据运算规则。这里一共同拥有4个查询语句,那么查询结果就是 假or真and假or真,先算and 再算or,终于结果为真 。这样就能够进到后台了~

我对xss以及sql的理解的更多相关文章

  1. 总结了关于PHP xss 和 SQL 注入的问题(转)

    漏洞无非这么几类,XSS.sql注入.命令执行.上传漏洞.本地包含.远程包含.权限绕过.信息泄露.cookie伪造.CSRF(跨站请求)等.这些漏洞不仅仅是针对PHP语言的,本文只是简单介绍PHP如何 ...

  2. 关于PHP xss 和 SQL 注入的问题

    漏洞无非这么几类,XSS.sql注入.命令执行.上传漏洞.本地包含.远程包含.权限绕过.信息泄露.cookie伪造.CSRF(跨站请求)等.这些漏洞不仅仅是针对PHP语言的,PHP如何有效防止这些漏洞 ...

  3. 整理对Spark SQL的理解

    Catalyst Catalyst是与Spark解耦的一个独立库,是一个impl-free的运行计划的生成和优化框架. 眼下与Spark Core还是耦合的.对此user邮件组里有人对此提出疑问,见m ...

  4. xss、SQL测试用例小结

    xss测试用例小结: <script>alert("跨站")</script> (最常用)<img scr=javascript:alert(&quo ...

  5. Web攻防之XSS,CSRF,SQL注入

    摘要:对Web服务器的攻击也可以说是形形色色.种类繁多,常见的有挂马.SQL注入.缓冲区溢出.嗅探.利用IIS等针对Webserver漏洞进行攻击.本文结合WEB TOP10漏洞中常见的SQL注入,跨 ...

  6. Web攻防之XSS,CSRF,SQL注入(转)

    摘要:对Web服务器的攻击也可以说是形形色色.种类繁多,常见的有挂马.SQL注入.缓冲区溢出.嗅探.利用IIS等针对Webserver漏洞进行攻击.本文结合WEB TOP10漏洞中常见的SQL注入,跨 ...

  7. 安全防御之防xss、SQL注入、与CSRF攻击

    XSS攻击 个人理解,项目中最普通的就是通过输入框表单,提交js代码,进行攻击例如在输入框中提交 <script>alert("我是xss攻击");</scrip ...

  8. DFX 安全测试-- 告诉你什么是XSS、sql注入?POST和GET的区别....

    1.用户权限测试 (1) 用户权限控制 1) 用户权限控制主要是对一些有权限控制的功能进行验证 2) 用户A才能进行的操作,B是否能够进行操作(可通过窜session,将在下面介绍) 3)只能有A条件 ...

  9. XSS攻击&SQL注入攻击&CSRF攻击?

    - XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式.跨站脚本攻击分有两种形式:反射型攻击(诱使用户点击一个嵌入恶意 ...

随机推荐

  1. ISO/IEC 9899:2011 条款6.5.1——基本表达式

    6.5.1 基本表达式 语法 1.primary-expression: identifier constant string-literal (    expression    ) generic ...

  2. AndroidKiller简单使用:修改应用名称

    修改apk名称 软件清晰地展示了美柚的信息.(是反编译的不错选择) 切换到工程管理器,可以查看反编译的资源和smail代码等. 接下来,查看smali代码,找到你需要查看的文件,点击下图的这个图标 看 ...

  3. linux无网络情况下安装rpm包

    首先理清楚两个东西:rpm和yum.rpm全称redhat package manager,用来管理软件包:yum全称yellow dog updater,modified,它是rpm的前端程序,因为 ...

  4. Tomcat 目录结构以及相关规范的介绍

    目录 安装tomcat tomcat目录结构 tomcat/bin目录 tomcat/conf目录 tomcat/logs目录 JavaEE对项目结构的规范 war包 安装Tomcat 参考:安装Ja ...

  5. win10网上邻居看不到别的共享电脑怎么样办

    https://jingyan.baidu.com/article/4853e1e5b714aa1909f72600.html

  6. 软件定义网络基础---SDN的主流构架

    一:基于不同标准的主流构架 二: ONF定义的SDN基本构架 (一) 四个平面.两大接口 三:四个平面 (一)数据平面 数据平面是由若干网元(Netword Element)构成,每个网元包括一个或多 ...

  7. Github克隆代码慢问题解决办法

    参考:https://blog.csdn.net/stone8761/article/details/79072148 https://blog.csdn.net/github_37847975/ar ...

  8. windows命令行 共享文件夹

    net share dpantemp2 /DELETEnet share dpantemp2=d:\temp2 /GRANT:jk,FULL /REMARK:" web api 共享&quo ...

  9. jquery设置滚动条样式

    HTML结构 下面是该滚动条插件工作所必须的HTML结构: <div id="about" class="nano">     <div cl ...

  10. Redis从认识安装到实现增删改查

    Redis从一无所知,到知道一点点 Redis是一个使用ANSI C编写的开源.支持网络.基于内存.可选持久性的键值对存储数据库 --维基百科 可以简单的说,Redis就是一款高性能的NoSQL数据库 ...