sqlmap的使用
使用sqlmap进行SQL注入
1.扫描注入漏洞类型
语法:-u [url]
1python2 sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1"
将我们要扫描的网站URL填入到命令中,运行后会输出结果:
从结果中可以看到网站的注入点在id这里,是以GET的方式提交的,并且网站存在4中类型的SQL注入漏洞,分别是布尔型盲注、报错注入、时间型盲注和联合查询注入
2.查询数据库名
语法:-u [url] --current-db
1python2 sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --current-db
运行完成后会直接显示出当前使用的数据库
3.查表名
语法:-u [url] -D [database_name] --tables
1python2 sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" -D security --tables
工具会自动查出数据库中所包含的数据表
4.查字段(可选)
查完数据表后 ...
SQL注入
SQL注入简介
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
SQL注入的学习过程我使用GitHub的一个开源项目进行练习[Sqli-Lab项目地址]
万能密码
这里使用的是Less-11进行试验
Less-11的页面存在一个的登录框
一般最简单的登录框在登陆的时候是直接传参到数据库中进行查询,所使用的查询语句为:
1select username,password from user where username='$name' and password='$pwd';
1.逻辑或注入
如果我们使where条件为真,那么必然会有查询结果输出
我们可以在username中输入任意值,在password中输入1' or '1'='1,提交之后可以看到我们使用Dumb账户登陆成功了
分析一下,如果我们使用这样 ...
SSRF漏洞
SSRF简介
SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统,正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统。
SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制,比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。
SSRF常见危害
可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的Banner信息等
攻击运行在内网或本地的应用程序
对内网Web应用进行指纹识别,通过访问默认文件实现( 如Readme等文件)
攻击内外网的Web应用,主要是使用GET就可以实现的攻击(比如Struts2,SQLI等)
利用File协议读取本地文件等
SSRF常见应用场景
在线翻译
图片加载与下载
图片、文章收藏功能
未公开的API实现以及其他调用URL的功能等
SSRF常见绕过技巧
利用@符号
利用localhost
...
CSRF漏洞
1.简介
CSRF(Cross-site request forgery,跨站请求伪造)通常是黑客利用已经登录的用户,诱使其访问或者登录某个早已构造好的恶意链接或者页面,然后在用户毫不知情的情况下,以用户的名义完成了非用户本意的非法操作。
这种攻击我们也被称为“One Click Attack“或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用行为。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范。
2.同源策略
什么是同源策略
同源策略由Netscape公司于1995年引入浏览器。目前,所有的浏览器都实行这个策略。它的含义是指,A网页设置的cookie,B网页不能打开,除非这两个网页同源。所谓的同源指的是三个相同:
协议相同
域名相同
端口相同
同源策略的目的
为了保证用户信息的安全,防止恶意的网站窃取数据。
3.DVWA——CSRF漏洞学习
Low
将安全等级调为Low,查看Low级别的源码:
12345678910111213141516171819202122232425262728 ...
session覆盖攻击
实验使用session登陆的php demo源码进行测试,源码下载链接
使用前需要先将数据库文件cms.sql导入到cms数据库(没有就先创建一个),默认有两个账户:admin/123456,admin1/admin
session覆盖简介
session覆盖攻击是一种非常流行的针对session的攻击方式,攻击者通过截获正常用户在某个网站的session id,就可以模仿这个用户,实现下一步的攻击。通常会被用作恶意重置用户的密码。
session覆盖过程
使用浏览器访问我们的session源码网站目录,可以看到有账户、密码和密文的提交框
先使用admin账户登录,并输入密文cxk后登录
为了方便实验,在页面展示出了当前用户的session id
然后再打开另外一个浏览器,使用我们另外一个账号admin1登录,密文填写任意值
这里使用另外一个浏览器是因为,在我们登录账号的时候,由于session的原因,浏览器会保存我们当前账号的登陆状态,如果不退出浏览器或者退出账号,就一直处于当前账号的登陆状态,无法登录进其他账号
打开BurpSuite对admin1进行拦截,刷新页 ...
XSS漏洞
简介
XSS攻击(Cross Site Scripting,跨站脚本攻击)通常指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
XSS漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数
常见的输出函数有: echo、printf、print、print_r、sprintf、die、var-dump、var_export
XSS主要分为三类:存储型XSS、反射型XSS和DOM型XSS
DVWA——XSS原理学习[DVWA源码下载]
DVWA——存储型XSS
什么是存储型XSS
攻击者可以通过XSS漏洞将恶意代码上传或储存到漏洞服务器中,只要受害者浏览包含此恶意代码的页面就会执行恶意代码。这就意味着只要访问了这个页面的访客,都有可能会执行这段恶意脚本,因此储存型XSS的危害会更大。因为存储型XSS的代码存在于网页的代码中,可以说是永久型的。
存储型 XSS 一般出现在网站留言、评论、博客 ...
session、cookie和token
session(会话)
session是用户使用web应用请求服务的时候,在服务器端生成的一次会话证明,这个证明会临时保存在服务器端,当用户离开网站或浏览器结束web访问的时候就会被销毁。
服务器为了区分当前向自己请求服务的是谁,给每个用户分发了一个唯一的“身份标识”(也就是sessionID),当用户使用客户端向服务端发送请求的时候,需要携带该sessionID才能正确请求到服务。
浏览器和服务器使用session进行交互的过程
cookie
cookie是在浏览器客户端存储的一种数据。cookie由服务器生成,发送给浏览器,浏览器把它以文件的形式保存在浏览器的某个目录中。在下一次请求同一网站的时候浏览器会把该cookie发送给服务器,由服务器使用用户名和口令对cookie进行验证。
cookie的请求流程
token(令牌)
token 也称作令牌,由uid+time+sign[+固定参数]加密后生成。
token 的认证方式类似于临时的证书签名, 并且是一种服务端无状态的认证方式。所谓无状态就是服
务端并不会保存身份认证相关的数据。
组成
uid: 用户唯一身 ...
使用Metasploit复现永恒之蓝攻击
1.Metaspolit介绍
Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具,并保持着频繁更新。被安全社区冠以“可以黑掉整个宇宙”之名的强大渗透测试框架。
2.术语
渗透攻击(Exploit):指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为。
攻击载荷(Payload):是我们期望目标系统在被渗透攻击之后去执行的代码。
Shellcode:是在渗透攻击是作为攻击载荷运行的一组机器指令,通常用汇编语言编写。
模块(Module):指Metasploit框架中所使用的一段软件代码组件,可用于发起渗透攻击或执行某些辅助攻击动作。
监听器(Listener):是Metasploit中用来等待网络连接的组件。
3.Metasploit使用
永恒之蓝是2017年公布的一个网络攻击工具,它利用Windows系统的SMB漏洞获取系统的最高权限。微软也在同年发布了MS17-010补丁,修复了“永恒之蓝”攻击的系统漏洞。
在实验室的电脑上,通 ...
御剑——Web后台目录扫描
御剑下载
使用御剑扫描器,可以扫描网站的敏感目录,包括网站后台等。其扫描原理就是爆破,即通过敏感目录的字典去匹配。
扫描线程自定义:用户可根据自身电脑的配置来设置调节扫描线程
集合DIR扫描 ASP ASPX PHP JSP MDB数据库 包含所有网站脚本路径扫描
默认探测200 (也就是扫描的网站真实存在的路径文件)
使用方法
打开软件在域名框输入要扫描的网站地址
在下面可以选择扫描线程以及扫描超时间,还有文件类型等
全部选择好以后就可以点击开始扫描了
等待扫描好以后在下面会出现扫描结果
扫描结果中左侧是扫描到的网站后台目录的地址,右边则是HTTP的响应码,通过访问这些地址可以找到网站后台的登录页面。
尝试访问扫描出来的/dede目录会看到网站后台的登录地址
除此之外,还可以直接访问robots.txt文件来查看被网站管理员禁止爬取的一些网站目录,尝试访问这些目录也会有新的发现。
AWVS的使用
AWVS下载
测试用网站源文件:dedecms5.6.zip
1.构建测试网站
下载dedecms5.6.zip并解压在phpStudy的网站根目录中,并修改端口常规设置
在端口常规设置中奖网站目录设置为刚才解压的dedecms5.6,设置完成后点击应用保存
待服务重启后就可以使用浏览器直接访问127.0.0.1看到页面内容
2.使用A进行扫描WVS
打开AWVS后,会自动弹出来扫描向导,将本地创建的要扫描的127.0.0.1填入URL中
然后其他配置使用默认,一路点击下一步就可以开始扫描
扫描过程会显示扫描过程中获得的信息
等待一段时间后,就能看到扫描完成并可以点击上方的Report生成一份测试报告
可以看到软件扫描出很多潜在的高危和中危漏洞,漏洞具体信息可以在报告里查看