常见web漏洞

文章目录[x]
  1. 0.1:分类

SQL注入

分类

SQL注入根据不同的标准,有不同的分类,从数据类型分类的话,SQL注入分为数字型和字符型。

根据注入手法分类,可以分为:

可联合查询注入-----联合查询

使用order by 1

order by 2

.......

判断数据库有多少列数

再使用[?id=3 union select 1,2,3,....]

报错型注入------报错查询

布尔型注入------布尔盲注

思路:布尔逻辑注入的思路是闭合sql语句,构造or和and逻辑语句,注释多余的代码。

原始语句:

select fir ,las from user where user_id=''

SQL注入语句解析:

select fir ,las from user where user_id='     ' or 1=1 ---'

说明:

第一个'用于闭合前面的条件

or 1=1为真的条件

--注释后面的所有语句。

基于时间延迟注入------延时注入

可多语句查询注入-----堆叠查询

union语句用于联合前面的select查询语句,合并查询更多的信息

一般通过错误和布尔注入确定注入点,便开始通过union语句获取有效信息。

猜测数据列数

'union select 1 --'

'union select 1,2 --'

'union select 1,2,3 --'

.........

sql注入语句的解析:

select fir ,las from user where user_id='' union select 1,2 --''

获取当前数据库及用户信息

'union select version().database() --'
'union select table_name,1 formINFORMATION_SCHEMA.tables --'          //查看所有库表名

根据注入点分类

get数据

post数据

http数据

cookie数据

XSS漏洞

XSS漏洞的验证

我们可以利用一段简单的代码,验证和检测漏洞的存在,这样的代码叫做PoC(Proof of Concept)

PoC 漏洞的验证与检测

EXP 漏洞的完整利用工具

shellcode 利用漏洞时,所执行的代码

payload 攻击载荷

sqlmap 攻击代码的模板

msf shellcode类似,功能是建立与目前的连接

验证XSS漏洞存在的PoC如下

 

<script>alert(/xss/)</script>
<script>confirm('xss')</script>
<script>prompt('xss')</script>

XSS的分类

XSS漏洞大概分为三种:反射型XSS,存储型XSS,DOM型XSS。

反射型XSS

反射型XSS是非持久性,参数型的跨站脚本。反射型XSS的JS代码在web应用的参数中,如搜索框的反射型XSS。

存储型XSS

存储型XSS是持久性跨站脚本。持久性体现在XSS代码不是在某个参数中,而是写进数据库或者文件等可以永久保存数据的介质中。

存储型XSS通常发生在留言板等地方。我们在留言板位置留言将恶意代码写进数据库中。

DOM XSS

DOM XSS比较特殊。owasp关于DOM型的XSS的定义是基于DOM的XSS是一种XSS攻击,其中攻击的payload由于修改受害者浏览器页面的DOM树而执行。其特殊的地方就是payload在浏览器本地修改DOM树而执行,并不会上传到服务器上。

XSS的构造

利用[<>]构造HTML标签和<script>标签。

在测试页面提交参数

伪协议

也可以使用JavaScript:伪协议的方式构造XSS

[javascript:alert()]

XSS防御

使用XSS Filter

XSS Filter的作用是过滤用户提交的有害信息,从而达到防范XSS攻击的效果。

@输入过滤

输入验证

数据消毒

防御DOM-XSS

避免客户端文档重写,重定向或者其他敏感操作。

绕waf

绕WAF可以从两个大的层面来考虑。一是通过HTTP协议层面,二是通过WAF对数据包的正则匹配层面。

发现主机连接最有用最通用的 Linux 命令。你可以使用”netstat -g”查询该主机订阅的所有多播组(网络)

netstat -nap | grep port 将会显示使用该端口的应用程序的进程 id

netstat -a or netstat –all 将会显示包括 TCP 和 UDP 的所有连接

netstat –tcp or netstat –t 将会显示 TCP 连接

netstat –udp or netstat –u 将会显示 UDP 连接

netstat -g 将会显示该主机订阅的所有多播网络。

一、iptables防火墙 1、基本操作

# 查看防火墙状态

service iptables status

# 停止防火墙

service iptables stop

# 启动防火墙

service iptables start

# 重启防火墙

service iptables restart

2、开启80端口

vim /etc/sysconfig/iptables # 加入如下代码 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 保存退出后重启防火墙

点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像