2010年07月28日
by 江小邪
75 Views
0 comments
最近我的网站经常把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:
ASP,
js,
sql,
url,
人,
代码,
工具,
数据,
数据库,
方法,
服务器构建&安全,
程序,
类,
网站,
诫,
连接,
防注入
相关日志
服务器构建&安全
2010年07月28日
by 江小邪
75 Views
0 comments
放入Windows Server 2003安装光盘,在目录\Support\Tools\下面找到Support.msi文件,安装他。
安装文件也可以在http://www.cdnunion.net/soft/support.rar下载。
b.用cmd进入C:\Program Files\Support Tools目录。
c.删除0.0.0.0
httpcfg delete iplisten -i 0.0.0.0
d.设定HTTP.sys(iis)只是侦听192.168.0.2这个IP地址,运行如下命令:
httpcfg set iplisten -i 192.168.0.2
返回的错误代码0代表成功完成
e.重起http.sys,依次在dos模式执行如下命令。
net stop http /y
net start w3svc
f.查询现在http.sys侦听Web服务的端口。
在dos模式用如下命令:
netstat -an
看看 tcp 0.0.0.0:80 0.0.0.0 listening 是否存在,如果不存在,先恭喜一下。
看看 tcp 192.168.0.2:80 …………… 是否存在,如果是,那就真正恭喜你了。
##########################################################
httpcfg query iplisten 查询
标签Tags:
PHP,
server,
url,
web,
代码,
成功,
服务器构建&安全,
诫,
错误
相关日志
服务器构建&安全
2010年07月26日
by 江小邪
76 Views
0 comments
(全文…)
标签Tags:
apache2,
code,
iis6.0,
include,
mysql,
path,
PHP,
PHP,
php.ini,
server,
session,
sql,
url,
web,
上传,
中文,
兼容,
初学者,
区别,
失败,
密码,
应用程序,
数据,
数据库,
方法,
版本,
程序,
网站,
网络编程,
解决,
解决方法,
设计,
诫,
邮件,
错误,
页面,
验证
相关日志
PHP, 网络编程
2010年07月26日
by 江小邪
50 Views
0 comments
AJAX bandwagon是个好去处。它带给你更快、更高效、更强动态的应用。但它也有自身的缺陷。
初一看,具备一些常识似乎就能避免这些缺陷,在一定程度上,的确如此。但从DHTML起源来看,AJAX应用程序充满了结构性差异。不论你在应用程序开发工作中掌握了多少常识,从别人犯的错误中吸取教训也是有好处的。我们称这些错误为“七宗死罪”,但它们不能代表全部的错误。
事实上,在你犯这些致命过失之前,你可能首先犯了一些较轻的错误。因此我们从这里着手。这是每个人都可能犯的错误。这些错误是多么普遍,通过Google搜索一下,你就可以发现大部分的错误。
(全文…)
标签Tags:
ajax,
dhtml,
google,
html,
javascript,
JavaScript&Ajax,
url,
人,
应用程序,
搜索,
新手,
方法,
更新,
浏览器,
程序,
网络编程,
自身,
设计,
诫,
链接,
错误,
页面
相关日志
JavaScript&Ajax, 网络编程
2010年07月26日
by 江小邪
62 Views
0 comments
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,
html,
ie,
javascript,
JavaScript&Ajax,
status,
url,
web,
xml,
xmlhttp,
代码,
兼容,
函数,
分页,
容器,
对象,
属性,
常用,
应用程序,
引入,
数据,
方法,
更新,
浏览器,
程序,
系统,
网络编程,
节点,
表格,
诫,
说明,
连接,
页面
相关日志
JavaScript&Ajax, 网络编程
2010年07月26日
by 江小邪
44 Views
0 comments
做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,恢复之后就不能再接着删除,必须要等一段时间,后来知道是IE缓存的问题。
AJAX缓存页面是一个刚接触AJAX的人一定会遇到的问题,造成这个问题的关键性人物又是IE…
在网上找了好多资料后,总结一下
1:在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数
在javascript发送的URL后加上t=Math.random() ,当然,不是直接把t=Math.random()拷贝到URL后面,应该像这样:URL+”&”+”t=”+Math.random();
2:在XMLHttpRequest发送请求之前加上XMLHttpRequest.setRequestHeader(“If-Modified-Since”,”0″)
一般情况下,这里的XMLHttpRequest不会直接使用,你应该可以找到这样的代码
XXXXX.send(YYYYYY);
那么,就把它变成
XXXXX.setRequestHeader(“If-Modified-Since”,”0″);
XXXXX.send(YYYYYY);
第二种方法感觉挺好。
标签Tags:
ajax,
ie,
javascript,
JavaScript&Ajax,
mod,
url,
xml,
xmlhttp,
人,
代码,
函数,
方法,
网络编程,
页面
相关日志
JavaScript&Ajax, 网络编程
2010年07月26日
by 江小邪
36 Views
0 comments
Get方式:
作用:可传送简单数据
大小:url最大长度是2083 bytes,可以用于GET传递数据的长度是2048 bytes
包含体:数据追加到url中发送,也就是http的header传送
Post方式:
作用:可传送简单复杂数据
大小:web.config里限制
包含体:数据在http请求的实体内容里传送
(全文…)
标签Tags:
ajax,
ASP,
asp.net,
code,
javascript,
JavaScript&Ajax,
status,
url,
web,
xml,
xmlhttp,
对象,
数据,
方法,
网络编程
相关日志
JavaScript&Ajax, 网络编程
2010年07月26日
by 江小邪
44 Views
0 comments
Ajax技术的实现主要依赖于xmlhttprequest,但我们在调用其来进行异步数据的传输时,由于xmlhttp是个短线过程(处理事件完成后就销毁)如果不对该对象进行包装处理的话,就不得不在需要调用的地方重新构建xmlhttprequest,每次调用都要写一大段的代码,实在不是个好办法。好在现在很多开源的ajax框架都提供了对xmlhttp封装的方案。这里以ajaxtags自带的prototype-1.4.0.js为母版,来看看如何将xmlhttp对象封装成一个可复用的方法。
在prototype.js中,首先定义了一个变量:Ajax
var Ajax = {
getTransport: function() {
return Try.these(
function() {return new ActiveXObject(‘Msxml2.XMLHTTP’)},
function() {return new ActiveXObject(‘Microsoft.XMLHTTP’)},
function() {return new XMLHttpRequest()}
) || false;
},
activeRequestCount: 0
}
变量返回了一个xmlhttprequest,可以看到,如果我们调用了Ajax.getTransport(),每次都会返回一个新的xmlhttprequest对象。
(全文…)
标签Tags:
ajax,
code,
div,
html,
JavaScript&Ajax,
js,
url,
xml,
xmlhttp,
中文,
人,
代码,
初始值,
区别,
对象,
属性,
数据,
方法,
网络编程,
获取,
表单,
诫,
错误,
页面
相关日志
JavaScript&Ajax, 网络编程
2010年07月26日
by 江小邪
69 Views
0 comments
一、 引言
毫无疑问,AJAX已经成为当今Web开发中一种强有力的用户交互技术,但是它的许多可能性应用仍然鲜为人知。在本文中,我们将来共同探讨如何使用JavaScript对象标志(JSON)和JSON分析器在服务器和客户端AJAX引擎之间创建复杂而强有力的JSON数据传输层。我们将详细讨论如何创建一组对象(在其它语言中经常被当作一个包),如何把这些对象串行化为JSON以发送到服务器端,以及如何把服务器端JSON反串行化为客户端JavaScript对象。
提示:你可以在Douglas Crockford的网站上找到本文中使用的JSON分析器。
在继续阅读前,本文假定你已经掌握了JavaScript技术并且了解如何创建一个基本的AJAX引擎,并经由AJAX技术向服务器端发出请求和从服务器端接收响应。为了更好地理解本文中示例,你需要下载本文相应的源码文件。 (全文…)
标签Tags:
ajax,
div,
html,
javascript,
js,
mod,
PHP,
url,
web,
xml,
人,
代码,
分离,
对象,
属性,
应用程序,
数据,
数据库,
方法,
浏览器,
程序,
类,
网站,
网络编程,
自身,
诫,
链接,
面向对象
相关日志
PHP, 网络编程
2010年07月26日
by 江小邪
77 Views
0 comments
在指南的开始,我们说过数据过滤在任何语言、任何平台上都是WEB应用安全的基石。这包含检验输入到应用的数据以及从应用输出的数据,而一个好的软件设计可以帮助开发人员做到:
确保数据过滤无法被绕过,确保不合法的信息不会影响合法的信息,并且识别数据的来源。
关于如何确保数据过滤无法被绕过有各种各样的观点,而其中的两种观点比其他更加通用并可提供更高级别的保障。
(全文…)
标签Tags:
html,
include,
mod,
PHP,
PHP,
PHP安全,
url,
web,
人,
代码,
判断,
数据,
方法,
程序,
类,
网络编程,
表单,
设计,
诫,
软件,
邮件,
重定向,
错误,
验证
相关日志
PHP, 网络编程