秋原:……
他才不会承认为了和宫野明美套近乎,他把这茬完全忘了。
“咳咳,山人自有妙计。”秋原和光故弄玄虚如是答道。
……
“你,你在干什么啊!!(ノ=Д=)ノ┻━┻为什么一言不合又开始作死?”系统痛心疾首。“我单知道你很莽,但是没想到你这么莽!”
“安静一下,我也是无奈之举,为了挣快钱嘛。”秋原和光嘴里这样回答道,手下敲击键盘的动作却不停歇。
他还记得,原作中黑衣组织boss的邮箱地址是一首儿歌的音节,根据邮箱地址用WHO is反查到该邮箱的注册域名,再通过一些社工手段确定黑衣组织的内网域名,使用内网穿透工具经过一番努力,用虚拟的IP地址进入了组织的内网。
当然,现在进入的是客户端,无法从组织的服务器获取信息。但是秋原发现当前时代的网络安全意识着实不太行,他随手试了几个常见的web安全漏洞,似乎都没有相对应的防御措施。
什么组织的内网,这简直就是一个用于web渗透测试人员学习的完美靶场。
人员登录界面没有安全验证码;没有对尝试登录的行为进行判断和限制,多次错误登录也不会进行账号和IP地址的锁定;前端的数据传入后台处理时没有做严格的判定……秋原越看越脸抽抽,组织是怎么靠这样的安全等级和红方斗智斗勇的……虽然主线还没开始,还有大把的时间去升级内网,这笔钱让谁挣不是挣,不如便宜自己。
他打开一个文档,开始一边截屏一边写着改进建议。比如当前这个SQL注入漏洞,作为既常见又危害性极大的网络安全漏洞,改进起来也是首当其冲。不对用户输入的数据进行正确的验证,当恶意用户在输入字段中注入恶意的SQL代码时,数据库中的数据就会被篡改或泄露。
比如现在——
秋原和光在网站的登录界面点击了用户名的输入框,写下一行SQL代码。
本来正常的SQL查询可能是这样的:“SELECT * FROM users WHERE username="输入的用户名" AND password="输入的密码";”
然而秋原和光在用户名字段中输入了 “ OR 1=1 --”。道理很容易理解,本来登录的过程,就可以理解成一个系统判断用户名和登录密码是否正确的过程,现在字段变成了一个随意的密码或者1=1,因为1=1是恒成立的,所以这段语句无论怎么判断都是对的,系统就会放行。其中“--” 是SQL中的注释符号,它后面的所有内容都会被忽略。
这样秋原和光就可以绕过身份验证,登录到组织内网。当然同时也可以通过更改注入语句来获取组织的更多信息。秋原和光暂时无意与琴酒为敌,所以并没有作进一步攻击。
秋原和光在文档里,简单讲述了漏洞的原理,随后继续补充道:
“为了防止SQL注入漏洞,开发人员应该对用户输入进行有效的验证和过滤。最常见的防御方法是使用参数化查询或预编译查询来避免将用户输入作为SQL查询的一部分。”
就这样一直列举了数十条漏洞,秋原才松了一口气,把文档打包放进了磁片。
伸了个懒腰,秋原拿出手机,拨通了琴酒的电话。