首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

互联网创业公司如何防御 DDoS 攻击?

14 年年初,被迫沦为了一名站群站长,草根站长。在成本投入以及人力、技术均有限的情况下。近一年数个站遭遇无数次 syn 洪水攻击,网站瘫了不说,看着一个个网站流量从高处跌落谷底,然后一步走入没落,心碎之甚。近期也对此做了一些不全的总结。 ( ddos 科普省略一万字) 因为是创业+挣外快形式,租的机器都是淘宝每月百元左右(低于百元,加了 IP 后百元上下)的 VPS 、香港美国韩国均有,一般都是 双核 cpu、512M-1G 内存、2M 带宽、硬盘越大越好。 因为做站群,一台机器会视硬盘而定挂 2-3 个站,每台服务器正常的情况下每个月能走掉 500-700G 的流量。网站采用 centos + kangle + php + 文本DB,从优化程序性能上、生成什么 HTML 静态的技术讨论就免了,因为一旦机器被攻击,你性能做得再强,这样配置的机器基本上是秒死状态。关于洪水攻击的特征收集是比较重要的,HTTP 头,UserAgent,host 都是一些非常重要的信息。当被攻击时,第一反映就是去服务器管理面版里重启,然后利用机器重启存活那一瞬间,ssh 登录,粘贴!!!:tcpdump -XvvennSs 0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 找到 http 请求, 记下来 UA、Host、URL。(于是机器接着挂 T T)以下是我如何防御洪水攻击的几个方法:1、借用第三方力量+以其人之D还治其人之机在中国,你只要被攻击,最大的烦恼其实不是网站不能访问,而是提供服务的 IDC 动不动就要关你的 VPS。所以,一般得知被攻击,取到 Host 主机名以后,我会第一时间去 DNS 里去对对应的域名操作。幸运的是,(暂时)遇到的攻击者一般都只会攻击你的一个域名。例如:他攻击你的http://www.xxx.com,而你的xxx.com是可以正常访问的。关于操作域名,我有几个手段:

01
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Windows Redis DLL劫持在实战中的利用

    举例: 例如,假设有一个应用程序叫做"example.exe",它依赖于名为"example.dll"的动态链接库。而"example.exe"在加载"example.dll"时没有使用绝对路径,而是仅仅指定了DLL的名称。攻击者可以将恶意的"example.dll"文件放置在与"example.exe"相同的目录下,当"example.exe"启动时,系统会先在当前目录中查找"example.dll"文件,如果找到,就会加载该文件并执行其中的恶意代码。 DLL劫持可以函数转发劫持也可以往完整DLL插入恶意代码,这里用的函数转发劫持,大致流程如下图所示: https://kiwings.github.io/2019/04/04/th-DLL%E5%8A%AB%E6%8C%81/ 2.2 劫持dbghelp.dll redis-server.exe在执行bgsave时,会先在应用‍目录查找dbghelp.dll,找不到再去system32目录下找: 而不管redis的权限是Administrator还是普通用户或者Network Service,它对自己的应用目录一定有写文件的权限,我们可以通过Redis的主从复制在应用目录里写入恶意DLL。 2.3 函数转发劫持 对DLL进行函数转发劫持需要导出原本DLL的函数和地址,以保证程序通过恶意DLL调用这些函数时不影响正常功能,DLL的导出函数一般比较多,用Aheadlib之类的工具可以自动化处理。 我这里用的是DLLHijacker,它会自动处理导出表并生成一个VS2019的项目,但这个python脚本有几个bug: https://github.com/kiwings/DLLHijacker (1) VS项目中文乱码: 修复:几个写文件的地方添加 encoding="utf-8"。 (2) 函数导出表有匿名函数的时候,会导致以下报错 [-]Error occur: 'NoneType' object has no attribute 'decode 修复:在几个for循环里添加函数名是否为空的判断可以解决这个问题。 (3) 生成C/C++代码时,没有使用目标DLL的绝对路径,只是用了DLL的名字填充LoadLibrary(),这是一个很严重的bug,会导致函数转发失败、Redis的功能受到影响从而只能劫持一次: 修复:我改成了根据输入的目标DLL路径自动填充。 如果没有使用原DLL的绝对路径,在Process Monitor可以看到,只会调用应用程序目录里的恶意DLL,并没有调用原本的system32下的dbghelp.dll: 从而redis的功能受到影响,导致redis的bgsave只能触发一次DLL调用,第二次bgsave的进程会被阻塞从而无法调用DLL,并且Redis关闭后将无法启动: 这也是网上部分师傅的文章写”不会影响redis运行 但会无法重启“的原因,因为他们也是用的DLLHijacker,并且没有发现有这个坑,这不仅会影响业务,而且只能劫持一次: 正常的DLL劫持不会影响程序的功能,可以劫持很多次,假如我第一次劫持想上线CS但是没有成功,那对面可能不出网,那我可能会再劫持打一个MSF的反向shell,都没成功我也可以继续尝试MSF盲打命令: 正常的DLL转发劫持如下,调用完应用程序目录里的恶意DLL后会调用原DLL: 0x03 漏洞利用 3.1 工具使用 工具下载地址: https://github.com/P4r4d1se/dll_hijack 如是是Windows 64位的Redis DLL劫持的话,可以直接用里面的VS2022版的dbghelp项目。 其他要用我修改后的DllHijacker.py和目标DLL路径生成VS项目: python3 DLLHijacker.py C:\Windows\System32\dbghelp.dll 下载安装VS2022,只用勾C++桌面开发: https://visualstudio.microsoft.com/zh-hans/downloads 打开生成目录里的sln文件,因为原本是VS2019的项目所以会提醒你升级,选确定,不然得另外安装v142的编译组件才能编译VS2019的项目: 打开后在源文件的dllmain.app,修改里面的shellocde就行,其他不用改: 3.2 出网——Cobalt Strike 如果Redis主机直接出网,或者能通其他已经上线CS的出网主机,那直接上CS是最好的选择,CS生成C语言的payload: 源文件的dllmain.app里把payload替换进去,然后选Release x64,生成——生成解决方案: 然后主从复制将dbghelp.dll写过去并bg

    01

    无名外推蜘蛛池系统服务端1.5破解版| 站群秒收必备|免授权破解版 (未测)

    什么是蜘蛛池? 蜘蛛池是一种通过利用大型平台权重来获得百度收录以及排名的一种程序,程序员常称为“蜘蛛池”。这是一种可以快速提升网站排名的一种程序,值得一提的是,它是自动提升网站的排名和网站的收录,这个效果是非常出众的。 蜘蛛池程序可以帮助我们做什么? 发了外链了帖子还不收录,可竞争对手人家一样是发同样的站,人家没发外链也收录了,是吧! 答:(因为人家养有了数量庞大的百度收录蜘蛛爬虫,有了蜘蛛池你也可以做到) 有些老鸟会说,我自己也养有百度蜘蛛怎么我的也不收录呢? 答:(因为

    07

    Linux 远程登录:Xshell、SecureCRT、Putty

    Alt + Enter -- 全屏   Alt + B --打开新的连接   Alt + 1/2/3/4/5.../9 -- 切换到第1/2/3/4/5.../9个标签   Ctrl + A -- 光标移至行首。   Ctrl + B -- 光标前移1个字符   Ctrl + D -- 删除光标后1个字符   Ctrl + E -- 光标移至行末   Ctrl + F -- 光标后移1个字符   Ctrl + H -- 删除光标前的1个字符   Ctrl + J -- 回车   Ctrl + k -- 删除当前光标至行末的字符   Ctrl + P -- 显示前一条命令   Ctrl + M -- 回车   Ctrl + N -- 下一条命令   Ctrl + T -- 交换光标前最后两个字符(思科路由器可用)   Ctrl + U -- 清除当前行和缓存的输入   Ctrl + V -- 输入ctrl字符   Ctrl + W -- 删除当前光标至行首的字符

    02

    Metasploit获取不到会话原因

    (1) 快速判断Metasploit会话完整性 如果直接通过浏览器访问监听IP:Port,或者是在获取会话的过程中按Ctrl+C键强制结束掉了,这时我们获取到的会话可能都是不完整的,即使成功得到了会话,进去之后会发现很多命令都执行不了。 这时可以通过session命令来快速判断我们得到的会话完整性,如果“Information”列中为空白则是不完整,反之则完整。 (2) Payload与目标系统架构不一样 这里说的系统架构不一样是因为我们生成的Msf Payload是x64,而目标系统是x86,在执行Payload过程中会出现“不是有效的Win32应用程序”报错,所以无法获取到会话。 这种情况一般出现在XP/2003机器上,不过x86的Payload可以在x64上成功运行,不存在兼容性问题。 (3) Payload与监听模块设置不一样 我们生成的Msf Payload是x86的,但是在handler监听模块里设置的Payload为x64时就会出现这种会话自动断开的情况。 不过在这种情况下如果Payload是可执行的,我们只需要将handler监听模块里设置的Payload改为对应的x86即可解决。 重点注意:

    04
    领券