ASP防注入新方式,希望对大家是有用的

最近我的网站经常把js脚本注入到数据,清除了又来。先后在网上找了很多的方法,还是没有用的,十分恼火。

首先先告诉大家一个批量清除代码的sql语句。

update 表名 set 字段=replace(字段,’script src=http://3b3.org/c.js>
1、分析那些无聊的人,或者有些病态的人究竟做了些什么 。

通过iis的日志或者microsoft urlscan 日志查看,在一些通过id查询数据库内容的时候后面被人加了一段很长的字符窜。

%%3B%%44%%65%%43%%4C%%61%%52%%45%%类似这样的字符窜,一定是其他的方式编码

首先我们先用工具分析下如此之长的字符窜究竟包含了些什么内容。

通过批量替换工具把%%全部替换成空,然后把得到的字符串通过其他的转码工具,转成字符窜。

;DeCLaRE @S NvArCHaR(4000);SeT @S=CaSt(0×45这里代码去掉了06F007200 aS NvArChAR(4000));ExEc(@S);–

就是一段与通过id查询数据库同时执行的sql,就给数据库某些表的字段加入了js病毒连接。

2、所以我们的原来的防sql注入的字符串就需要升级了。

如果过滤16进制

; 对应 3B

DeCLaRE 对应 4465434C615245

@ 对应 40

NvArCHaR 对应 4E76417243486152

set 对应 536554

CaSt 对应 43615374

as 对应 6153

exec 对应 45784563

- 对应 2D

把16进制的代码用|隔开放到injdata 里面

injdata = “3B|2D|’|;|and|exec|insert|select|delete%20from|update|count|”

然后自己测试下,程序是否拦击了这些16进制的代码,本人测试过是可以拦击的,如果不加入这些是不拦击的

照样可以注入到数据库。

标签Tags:, , , , , , , , , , , , , , , ,

相关日志

Webshell下破解计算机管理员密码

软件作者:taiwansee
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

这个idea源自以前学runas命令时候的启发。

使用方法:
    1、把你的密码字典改名成psw.txt后,上传到目标服务器的一个可执行、可写的目录中。这里假设这个目录是:c:\windows\temp\
    2、把程序上传到c:\windows\temp\中,然后运行它。
    3、然后就是等待,过几分钟(具体时间看你的字典大小了)查阅c:\windows\temp\下的result_.txt中的结果,
       如果为空就说明还没破解完,另选时间再回来看。

特点:
    不需要抓hash,不需要管理员权限,ISUR_*用户就能用,速度慢(这个也是特点哦)在测试机中的表现是每秒尝试1800个密码左右。
    默认破解administrator用户的密码。要破其它,请自行修改代码。
(全文…)

标签Tags:, , , , , , , , , , , , , , , , , , , , ,

相关日志

完美解决“由于这台计算机没有终端服务器客户端访问许可证”

由于windows2003默认仅支持2个终端用户的登陆。当“终端连接超出了最大连接”的情况出现导致不能登录时,可以:

1、在另外一台Windows2003的机器上运行“tsmmc.msc”,打开远程桌面连接,添加一个新的连接,输入远程服务器的IP地址、远程登录帐号和密码,登录到远程服务器桌面。这个方式可以随时登录到远程桌面。

2、在登录出问题的服务器上, 单击“开始”,指向“管理工具”,然后单击“终端服务配置”。

3、 单击“服务器设置”,然后双击“授权模式”。

4、将“授权模式”更改为“每用户”,然后单击“确定”。 以后就不会出现此类问题了。

原因:Window Server 2003 不管理“用户 CAL”。这就是说,即使许可证服务器数据库中有一个“用户 CAL”,它在被使用时也不会减少。这样就不会为了让每个用户都有一个有效的终端服务器 (TS) CAL 而根据“最终用户许可协议”(EULA) 的要求删除管理员。在没有使用“设备 CAL”的情况下,如果不是每个用户都有一个“用户 CAL”,就会违反 EULA。

标签Tags:, , , , , , , ,

相关日志

帝国备份王(Empirebak)拿webshell

fhod 邪恶八进制
帝国备份王(Empirebak)简介
EmpireBak是一款完全免费、专门为Mysql大数据的备份与导入而设计的软件,系统采用分卷备份与导入,理论上可备份任何大小的数据库.
可在 http://www.phome.net/ebak2008os/ 下载到
默认账号密码为
admin  123456
登陆后先备份一次数据
备份时可选择备份到的目录。。默认有个safemod
当然也可以是别的..这里以safemod来说了
备份完毕后来到
管理备份目录
打包并下载
把开始备份到的数据可以先下回分析..当然数据库比较大的话可以省略这一步..因为我之前下载已经分析完毕了
(全文…)

标签Tags:, , , , , , , , , , , , , , , , ,

相关日志

最令PHP初学者头痛的十四个问题

(全文…)

标签Tags:, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

相关日志

PHP和Socket简介

Sockets在PHP中是没有充分利用的功能。今天你将看到产生一个能使用客户端连接的服务器,并在客户端使用socket进行连接,服务器端将详细的处理信息发送给客户端。

当你看到完整的socket过程,那么你将会在以后的程序开发中使用它。这个服务器是一个能让你连接的HTTP服务器,客户端是一个Web浏览器,这是一个单一的 客户端/服务器 的关系。 (全文…)

标签Tags:, , , , , , , , , , , , , , , , , , , , , , , , ,

相关日志

php的文档句法(heredoc)<<<和PHP字符串操作

不多说了,看代码。自己体会

<?php
echo “濙水河边的PHP演示”;
echo “<br>”;
$db=mysql_connect(“localhost”,”root”,”123456″);
mysql_select_db(“jaycee”,$db);
$rs=mysql_query(“select * from gbook”,$db);
while($row=mysql_fetch_row($rs))
{
echo <<< eod
<table width=”99%” border=”1″ cellspacing=”0″ cellpadding=”0″>
<tr>
<td>$row[0]</td>
<td>$row[1]</td>
</tr>
<tr>
<td>$row[2]</td>
<td>$row[3]</td>
</tr>
</table>
eod;
}
?>

<<<也就是可以让我们在PHP代码内实现一大段的HTML代码,并且可以在其中,使用PHP变量。

淡水河边这厮,找到许多PHP入门呀,php起步呀==的书,从没提到用到这个。郁闷,用不到么?

居然不提。愤怒! (全文…)

标签Tags:, , , , , , , , , , , , , , , ,

相关日志

PHP对文本数据库的基本操作方法

PHP实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法
我用一个留言本程序作为例子,阐述PHP实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法。
此文本数据库共有字段10个:客户IP、发言时间、客户名、客户EMAIL、客户主页地址、留言表情图片名、客户QQ、客户形象图片、留言内容、管理员回复内容。

1、加入数据程序段。

$date=date(“Y-m-d H:i:s”);//取得系统时间
$ip = $HTTP_SERVER_VARS[REMOTE_ADDR]; //取得发言的IP地址
$text=encode($gb_text);//去掉留言内容后面的空格.
$fp=fopen(“gb.dat”,”a”);//以只写模式打开gb.dat文本文件,文件指针指向文件尾部.
$str=$ip.” ”.$date.” ”.$gb_name.” ”.$gb_email.” ”.$gb_home.” ”.$face.” ”.$gb_qq.” ”.$head.” ”.$text.” ”.$reply.”\n”;//将所有留言的数据赋予变量$str,” ”的目的是用来今后作数据分割时的数据间隔符号。
fwrite($fp,$str);//将数据写入文件
fclose($fp);//关闭文件
showmessage(“留言成功!”,”index.php”,”3″);//留言成功,3秒后自动返回主界面。
其中的$gb_name 、$gb_email、$gb_home、$face、$gb_qq、$head、$gb_text、$reply是由发言表单传过来的数据。
(全文…)

标签Tags:, , , , , , , , , , , , , , , , , , ,

相关日志

Ajax的工作原理

Ajax的核心是JavaScript对象 XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。

  在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。下面是使用Ajax可以完成的功能:

* 动态更新购物车的物品总数,无需用户单击Update并等待服务器重新发送整个页面。
* 提升站点的性能,这是通过减少从服务器下载的数据量而实现的。例如,在Amazon的购物车页面,当更新篮子中的一项物品的数量时,会重新载入整个页面,这必须下载32K的数据。如果使用Ajax计算新的总量,服务器只会返回新的总量值,因此所需的带宽仅为原来的百分之一。
* 消除了每次用户输入时的页面刷新。例如,在Ajax中,如果用户在分页列表上单击Next,则服务器数据只刷新列表而不是整个页面。
* 直接编辑表格数据,而不是要求用户导航到新的页面来编辑数据。对于Ajax,当用户单击Edit时,可以将静态表格刷新为内容可编辑的表格。用户单击Done之后,就可以发出一个Ajax请求来更新服务器,并刷新表格,使其包含静态、只读的数据。
  一切皆有可能!但愿它能够激发您开始开发自己的基于Ajax的站点。然而,在开始之前,让我们介绍一个现有的Web站点,它遵循传统的提交/等待/重新显示的范例,我们还将讨论Ajax如何提升用户体验。 (全文…)

标签Tags:, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

相关日志

AJAX的各种控件和类库

Ajax控件和类库现在真的太多了,不知不觉中增加了Ajax的神秘性和复杂性,看到版内很多人为此费解和伤神,决定发此贴谈谈本人对Ajax的观点,希望能让大家对Ajax有一个本质的认识。

  观点一:Ajax和服务器端技术毫不相关

  严格的说,与传统web开发相比,Ajax是完完全全的客户端技术。由于很多控件封装了客户端和服务器端的通信过程,因此很多问题也因通信而起。事实上,不论何种Ajax技术,服务器端都是返回的一个纯文本流,再由客户端来处理这个文本。这段文本可以是xml格式,也可以是一个Html片段,也可以是一段JavaScript脚本,或者仅是一个字符串。服务器端仅仅是作为一个数据接口,客户端使用XMLHttpRequest对象来请求这个页面,服务器端在页面内写入结果文本,这个过程和普通的web开发没有任何区别。所不同的只是,客户端在异步获取结果后,不是直接显示在页面,而是由客户端的Javascript脚本处理后再显示在页面。至于各种控件所谓的能返回DataSet对象,Date对象,或者其他的数据类型,都是封装了这个处理过程的结果。

  观点二:DOM模型是Ajax最本质的技术

  之所以没有把XMLHttpRequest列为最本质的技术,因为本人觉得它实在是太简单了,它只是可以让浏览器在后台请求一个页面,并将其内容交给JavaScript处理。真正的核心应该是:DOM模型,即文档对象模型。在DOM模型里,Html标记都被认为是一个对象,例如:div对象,table对象等等。DOM模型就规定了这些对象所具有的属性、方法和事件。通过这些性质,可以对一个已经显示于浏览器的页面进行内容的修改,例如增加节点、修改节点位置,删除节点等等。而不仅仅是一个innerHTML属性这么简单,虽然这是一个很有用的属性。

  观点三:在使用Ajax控件前理解它们的实现

  使用Ajax控件的确可以提高效率,但如果你空中楼阁般使用控件,那就得不偿失了。从一个控件换到另外一个控件又会有一个漫长的学习曲线。所以应该从底层了解其,况且Ajax实在不是什么高深的技术。其实任何东西的最底层其实都是简单的,但如果封装了这些底层的东西,事情会变得复杂和难以理解。以Asp.net为例,它的定制特性可以使得只要在方法前加上[ajax method]类似这样的标志就可以称为一个异步方法,相信这使得Asp.net的Ajax开发显得更加“高效”或者是“神秘”,而更多的事情则被封装了。同样记住一条,任何对服务器端的请求仅仅是返回纯文本,我们不一定要依赖于封装好的处理过程,而完全可以自己来实现。

  观点四:学好JavaScript

  在大多数人看来,JavaScript总不是那么一种正规的语言,随便copy一段就碰巧能运行,学过c之类的人,一看也能看懂,而且在浏览器中常常有脚本错误提示,所以潜意识觉得总不能付之以大任。事实上,要学好Ajax,这就完全是一种错误的看法。javascript作为一种脚本语言,其语法的确不是很严格,但并不妨碍其完成诸多复杂的任务,没有JavaScript,就没有Ajax。所以本人强烈建议,学Ajax前,一定要好好研究一番JavaScript,一般来讲,如果能顺利看懂prototype框架的代码(如:prototype-1.3.1.js),你的JavaScript水平就基本过关了。同时对DOM模型也可以算有一个基本的了解。

  观点五:Ajax点缀:CSS

  用JavaScript控制CSS其实很简单,基本上每个DOM对象都有一个style对象,只要把css属性里的”-”去掉,并让随后的字母变为大写就可以作为属性使用了,例如:element.style.backgroundColor=”#f00″;在css是:选择符 {background-color:#f00}

  一口气说这么多,希望对大家有点用处。

标签Tags:, , , , , , , , , , , , , , , , , , , , , , , , , ,

相关日志

当前 1 / 4 页1234