通过SQL注入得到WebShell的原理及步骤                
                
                    所属分类:
                        网络安全 / 黑客教程                    
                    阅读数:
                        113
                    
                        收藏 0赞 0分享
                    
                 
                
                    一.通过SQL注入得到WEBSHELL的原理:  
N.E.V.E.R的方法:利用数据库备份得到WEBSHELL。创建一个表,在表中建一个字段用来保存木马数据。然后利用MSSQL导出库文件的办法把整个数据导出来,最后再删除新建的表。  
分析: N.E.V.E.R利用了MSSQL的备份数据库功能。把数据导出来,设想数据库中有<%%>之类的ASP标实符,导出文件,文件名以.ASP的形式保存。然后文件又保存在WEB的路径下。那么这个导出的ASP文件是不是要去解释<%%> 之内的语句呢?如果数据库中有的表中有<%%>标实符,并且这之中有错误,那么我们导出来生成的ASP文件也会有误。不过,这种机会也不太大。  
再来看看CZY的方法吧。  
CZY的方法:前面的和N.E.V.E.R的方法基本上差不多。只是后面用到了扩展存储过程——sp_makewebtask。这个扩展存储过程的作用就是:可以把MSSQL数据库中的某个表中的记录导出来,以文件的方法保存起来。这种方法就不会出现什么问题原因在于:我们只去读表中的某个字段中的值。把字段的信息导出来生成文件。这个字段中的值都是我们刚加上的。自己在加入数据的时候,先调试一下,没有问题在加入进去,导出来就当然没有问题了。  
以上两位的方法,我都手工测试过。利用SQL注入漏洞,建表,向表中加数据,然后再导出数据,再删除表。都是利用的SQL语句。这里我就不多说了,大家可以看本期的文章。  
二.利用DELPHI去实现功能的前言  
原理都分析过了。我们怎么利用DELPHI来实现他们的手工操作呢?其实方法是非常简单的。DELPHI提供了一个NMHTTP控件。我们利用这个控件就可以向某个特定的URL提交参数。然后实现我们的自动注射功能。我马上要为大家讲解的这个程序,有一个特点。也可以说成是一个缺陷吧。程序不去自动猜解WEB的绝对路径。程序不去判断当前连接SQL数据库的当前账号的权限。我为什么要这么做?因为得到这两者用SQL注入是非常难得到的。所以,我们程序发送命令就不会考虑太多。成不成功你执行完自己去看看生成没有就OK了。  
三.如何利用DELPHI得到WEBSHELL。  
程序中用到的值。我们这里来看看有哪些:URL路径,远程WEB绝对路径(通过其他方法得到,你一定有办法的) 采用什么方法去得到WEBSHELL(也就是两位的方法,你选哪一种)。我们同时要求点击一个按纽开始执行命令,和点击一个按纽来终止命今。最后就是新建的表的名称,以及表的字段名称,再次就是字段的类型。前面的我们在程序中放上输入,选择之类的控件就行了。后面的我们设一个选项按纽点按纽弹出相应设置。再把这些相应的设置用一个RECORD来保存。 
首先,我们在DIT控件。名称分别是:UrlET //URL路径的输入框、ShellPathET //远程木马的位置、CustomBdoorET//自定义木马的位置。再放两个RadioButton用来选择采用什么方式获取WEBSHELL。CAPTION分别取名为: BackUP DataBase 和 WEB作业。然后再放三个SpeedButtion按纽。名称分别是:设置,开始,停止, 最后再放一个MEMO控件。来显示当前添加的信息。到此界面上的工作就做完了。界面如图:  
现在来写程序了。  
我们首先定义一个RECORD。  
如下: 
Type  
SetOption = Record  
TableName : String; //用来保存要创建的表名.  
FieldName : String; //用来保存要创建的字段名.  
FiledType : String; //用来保存创建的字段名类型.  
End;  
FiledType字段类型的值是以下类型的一种:  
Bigint binary bit char datetime decimal float image int money nchar ntext numeric nvarchar real smalldatetime smallint  
Smallmoney sql_variant text timestamp tinyint uniqueidentifier varbinary varchar 这些都是MSSQL字段类型值.  
再定义一个全局变量:  
Var  
ISStop : Boolean; //用来判断用户是否按下了停止按纽.  
好了。在表单创建的过程中,我们为RECORD记录输入默认值.  
代码如下:  
procedure TMainForm.FormCreate(Sender: TObject);  
begin  
sOption.TableName :=’cyfd’  
sOption.FieldName :=’gmemo’  
sOption.FiledType :=’text’  
end;  
现在我们添加开始执行命令的代码。  
先定义BDoorList 为TstringList。主要目的就是把木马的内容加进来.  
创建两个变量来保存urlET.和ShellPathET的值.方便程序简化调用.  
在程序开始执行前,我们得先检查一下用户的输入  
定义一个Checkinput函数.  
如下:  
Function CheckInput : Boolean;  
Begin  
Result := False;  
if Trim(urlet.Text) = ’’ then  
Begin  
Application.MessageBox(’请输入URL地址!’,’提示’,mb_ok mb_iconinformation);  
Exit;  
End;  
if Trim(ShellPathET.Text) = ’’ then  
Begin  
Application.MessageBox(’请输入文件保存地址!’,’提示’,mb_ok mb_iconinformation);  
Exit;  
End;  
IF DefBDoor.Checked then  
Begin  
if Not FileExists(extractfilepath(Application.ExeName) ’默认木马.txt’) then  
Begin  
Application.MessageBox(’没有找到 [默认木马.txt] 文件!’,’提示’,mb_ok mb_iconinformation);  
Exit;  
End;  
End  
Else  
if Not FileExists(CustomBdoorET.Text) then  
Begin  
Application.MessageBox(’没有找到所选的木马文件!’,’提示’,mb_ok mb_iconinformation);  
Exit;  
End;  
Result := True;  
End;  
                                    
             
            
                
                CSRF的攻击方式详解 黑客必备知识
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF
                    
                    收藏 0赞 0分享
抓取管理员hash值(哈希)的另类方法
哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计
                    
                    收藏 0赞 0分享
网站安全教程 绕过D盾进行注入的方法(图文教程)
D盾_IIS防火墙专为IIS设计的一个主动防御的保护软件,以内外保护的方式 防止网站和服务器给入侵,在正常运行各类网站的情 况下,越少的功能,服务器越安全的理念而设计! 限制了常见的入侵方法,让服务器更安全!
                    
                    收藏 0赞 0分享
局域网安全教程 HSRP攻击和防范的方法介绍(图文教程)
热备份路由器协议(HSRP)的设计目标是支持特定情况下 IP 流量失败转移不会引起混乱、并允许主机使用单路由器,以及即使在实际第一跳路由器使用失败的情形下仍能维护路由器间的连通性。换句话说,当源主机不能动态知道第一跳路由器的 IP 地址时,HSRP 协议能够保护第一
                    
                    收藏 0赞 0分享
SQL通用防注入系统asp版漏洞
今晚群里朋友叫看个站,有sql防注入,绕不过,但是有发现记录wrong的文件sqlin.asp。
                    
                    收藏 0赞 0分享
                 查看更多