118
甲方发来邮件的时候,雨晴正在上物理课。
手机在书包里震了一下,她没看。下课才掏出来,屏幕上显示着新邮件提示。她点开,甲方写的:“系统上线前需要做一次复测,确认漏洞都修了。时间三天,报酬一千五。可以的话回复。”
她靠在走廊栏杆上,回了两个字:“可以。”发完想了想,又补了一句:“测试范围不变?”甲方秒回:“不变。”
中午吃饭的时候雨晴跟刘心怡说“甲方又来了”。刘心怡嘴里含着饭,含糊地问“哪个甲方”。雨晴说“就上次那个,OA系统的”。刘心怡把饭咽下去,“又要加班?”雨晴说“三天”。刘心怡夹了一块土豆,“你赚那么多钱干嘛”。雨晴想了想,没回答。她也不知道干嘛,就是想赚,看着余额涨就安心。
刘心怡没追问。
下午放学后雨晴直接回家,书包放桌上,打开笔记本。先测越权漏洞——用普通账号访问管理员接口,跳转到了登录页。修了。再测存储XSS——在留言框输入弹窗代码,提交后页面显示了纯文本,没有弹出。修了。然后测文件上传绕过。上传一个PHP文件,改Content-Type为image/jpeg,改文件后缀为.jpg,用特定的User-Agent发送请求——路径返回了。
没修。
她又测了两次,换了几种绕过方式。参数污染、双文件后缀、换行符截断——都不行,但最基础的那种UA绕过还是能成功。她在报告里写了一行:“文件上传漏洞未完全修复,当前仍可通过修改User-Agent绕过。建议尽快修复,否则存在高危风险。”发过去之后甲方回了一个“知道了”。
雨晴看着那三个字,想起深海鱼说过的话。甲方说“知道了”等于“知道了,但我不一定会修”。她把聊天记录截了个图,存进项目文件夹。以后出问题用得着。
做到一半的时候手机震了。群里何意味在发消息:“姐姐,我明天回开封了。”
苏晚:“你不是才来了几天吗”
何意味:“我表哥天天加班,没空陪我。我在他宿舍睡了两天地铺,他每天回来倒头就睡,话都不说一句”
深海鱼:“你白天自己逛啊”
何意味:“逛了。二七塔,黄河滩,动物园。一个人没意思”
发了一张猫回头的图,配文“开封我回来了”。隔了几秒,又发了一条:“姐姐,今天能不能见一面。”群里安静了几秒。苏晚:“面基啊”。深海鱼:“你们没见过?”何意味:“没有。想见。”
雨晴看着那条消息。她没见过何意味,不知道他长什么样。在群里他发过语音,河南话版的天气预报、猫叫、朱自清的《春》。听声音是个年轻男的,跟她差不多大。她打了两个字:“几点。”
何意味秒回:“四点。火车站旁边的麦当劳。姐姐我等你”
苏晚发了一个斜眼笑的表情。“面基可不要面到床上了哦~”
何意味回了一个猫捂脸的表情。“我倒是想,姐姐不给我机会”
深海鱼发了一个翻白眼的表情。苏晚又发了一条:“何意味你要是敢对姐姐动手动脚,我顺着网线过去打你”
何意味:“我是那种人吗”
苏晚:“你是”
何意味发了一张猫无辜的图。
雨晴把手机放回口袋,骑车回家先把报告存了档,然后骑车往火车站去。到的时候差十分四点。麦当劳在广场西侧,门面不大,玻璃窗上贴着汉堡的广告。她推门进去,扫了一圈。角落靠窗的位置坐着一个人,穿着深蓝色卫衣,帽子没戴,短发,脸圆圆的,看起来像个普通的高中男生。桌上放着一杯可乐,已经喝了一半,杯壁上全是水珠。
雨晴走过去。那个人抬起头。眼睛不大,但很亮,笑起来的时候两颊的肉往上堆,几乎把眼睛挤没了。“姐姐。”
雨晴在他对面坐下。比想象中普通,也比想象中安静。何意味的手指在可乐杯上蹭来蹭去,看起来有点紧张。
“你一个人来的?”雨晴问。
“嗯。我表哥上班,没空。”
“你什么时候回去?”
“明天早上。”
沉默了一会儿。何意味忽然说,“姐姐,你比我想象的矮”。雨晴看着他,“你比我想象的安静”。何意味笑了一下,这次笑的时候眼睛还是眯成一条缝。“我在网上比较放得开。”
雨晴没接话,问他“你不上学了”。何意味说“上,高二,成绩不好”。手指开始撕纸巾角,撕成一条一条的,在桌上摆成一小堆。雨晴问他“那你以后打算干嘛”。他说“不知道,可能学个技术,修手机修电脑什么的”。说话的时候一直没敢直视雨晴,眼睛看着桌面,看着窗外,看着可乐杯。雨晴注意到了,没点破。
“你群里挺能说的。”
“网上和现实不一样。网上又没人看我。”
何意味把撕好的纸巾条拢到一起,又推开。雨晴坐在对面,两个人之间隔着一张桌子,桌上放着那杯快见底的可乐。她看了一眼窗外,火车站广场上人很多,拖着行李箱的,举着牌子的,蹲在地上打电话的。玻璃上贴着一个麦当劳的“M”标志,红色的,从里面看是反的。
“姐姐,”何意味忽然叫她。
“嗯。”
“你的手术,疼吗。”
雨晴看了他一眼。何意味也在看她,这次没躲开。
“麻醉了不知道。醒了疼。”
“疼了多久?”
“两三天。”
何意味点了点头。他把桌上那堆纸巾条推到一边,手不知道放哪,又去摆弄吸管。吸管已经咬扁了,他把扁掉的那头捏圆,捏不圆,又咬了一口。
“你问这个干嘛。”雨晴说。
“就是想问。”
沉默了一会儿。雨晴看了一下手机,快四点半了。她站起来。“我走了。”何意味也站起来,比雨晴高半个头。他犹豫了一下,伸出手。雨晴跟他握了握手。他的手很软,没什么力气,手心有点湿。
“姐姐,我以后还能在群里说话吗。”
“你不是每天都在说吗。”
他笑了一下,那笑容里有雨晴没看过的东西。“那我回去了。”
雨晴点头。走出麦当劳的时候回头看了一下。何意味还站在那儿,手里攥着那杯已经空了的可乐。
骑车回家路上,雨晴在等红灯的时候拿出手机。群里何意味发了一条消息:“见完了”。苏晚“怎么样”。何意味发了一张猫捂脸的图,配文“本人太帅,姐姐没敢看我”。苏晚“你脸皮还是那么厚”。何意味“这是自信”。雨晴没回。
晚上林听夏来,带了一袋橘子。雨晴把甲方复测的事说了,林听夏问“钱呢”,雨晴说“做完才给”。林听夏剥了一个橘子,递给她一半。
“今天见了群里那个人?”林听夏问。
“嗯。”
“那个何意味?”
“嗯。”
“怎么样?”
雨晴想了想。“还行。是个正常人。”
林听夏没再问。她把另一半橘子也吃了,站起来去厨房热汤。
晚上何意味在群里发了一张火车票的照片,郑州到开封,明天早上八点。配文“回去了”。深海鱼“下次再来”,何意味“嗯”。苏晚发了一个摸头的表情。雨晴回了两个字:“到了说。”何意味发了一个猫点头的图,配文“收到”。
雨晴把手机放到枕头旁边。橘子皮跳上床在她脚边盘成一团。窗外路灯亮着。她闭上眼睛。
甲方说“知道了”。何意味回开封了。今天的事都处理完了。明天还有明天的事。
何意味回了开封。雨晴以为这件事就过去了。
周二中午,群里安静了大半天。何意味没发语音,没发猫图,没报天气预报。苏晚在群里喊了一声:“何意味你今天死了吗”。过了几分钟,何意味冒出来了。不是语音,是文字。他打了一行字:“以后叫我胡蔚然吧。”
苏晚:“谁?”
“我本名。”
深海鱼:“你不是叫何意味吗”
“那是网名。真名叫胡蔚然。”
苏晚发了一个震惊的表情。“你居然有真名”
何意味发了一张猫翻白眼的图。“谁没有真名”
雨晴看着那行字,没回。群里安静了一会儿,苏晚又问:“那你以后还叫何意味吗”。“叫。但在群里叫胡蔚然也行,随便你们。”
深海鱼:“胡蔚然。这名字还挺好听的”
何意味发了一张猫得意的图。
雨晴把手机放下。过了一会儿,私信震了。
是胡蔚然。发了一个猫探头表情。雨晴回了一个问号。对方正在输入,输了很久。最后发来一行:“姐姐,我有事想跟你说。”
雨晴看着那行字。“说。”
又是漫长的正在输入。胡蔚然打了删、删了打,最后发来一句:“我也想当女孩子。”
雨晴盯着屏幕。过了几秒,她打了两个字:“然后呢。”
“不知道。就是想说。没跟别人说过。”
雨晴靠在椅背上。橘子皮从暖气片旁边站起来,走过来蹭她的手。她摸了摸猫的头,开始打字。打得很慢。
“我跟你差不多。比你早几年。”
“我也是男的。十几岁的时候开始吃药,后来做手术。”
“家里人不同意,离家出走过。一个人在外面住了大半年。”
“后来查了染色体,才发现我本来就是女的。身体发育的问题。”
她停了一下,又加了一句:“手术做完了。户口也改了。现在身份证上是女。”
对面安静了很长时间。雨晴以为他不会再回了,手机又震了。胡蔚然发了一个猫哭的表情。“姐姐你好勇敢。”
“不是勇敢。是没有别的路走。”
“我也想。但我不知道从哪里开始。”
雨晴想了想。“先去医院检查。查染色体、查激素。看你的身体到底是什么情况。”她发了几个医院的名字,郑州的。“挂内分泌科或者妇科。医生会告诉你要做什么检查。”
“我不敢一个人去。”
“那你找个朋友陪。”
“我没有这种朋友。”
雨晴看着那行字,沉默了一会儿。“你来郑州。我陪你去。”
对面又安静了。过了大概两分钟,胡蔚然发了一个猫点头的图。“好。”
晚上胡蔚然在群里发了一条消息:“我打算去郑州打工。”
苏晚:“你不是在开封吗”
胡蔚然:“开封没合适的工作。郑州机会多。”
深海鱼:“你不上学了?”
胡蔚然:“休学。我妈同意了。”
苏晚:“你妈居然同意?”
胡蔚然:“我跟她说我想出去见见世面。她想了几天,说行。”
雨晴没在群里回。她给胡蔚然发私信:“你想好了?”
“想好了。”
“住的地方呢?”
“我表哥那边,他说可以住他客厅。他在郑州卖课,你知道的。”
“工作呢?”
“先找。便利店、奶茶店、什么都行。”
雨晴停了一下,打了一行字:“你不是说要我陪你去医院吗。”
“嗯。等我安顿好。”
“好。”
雨晴把手机放下。橘子皮趴在她腿上,呼噜呼噜地叫。她摸着猫的背。
胡蔚然要来郑州。不是群里的那个声音,是一个真人。比她高半个头,手心里有汗,笑起来眼睛会消失。他说“我也想当女孩子”,说这话的时候,雨晴能感觉到他在害怕。和她当年一样。怕说出来就收不回去了,怕被人当成怪物,怕连自己都不相信。但他说了。在路上,可能很快。她在想,到时候该怎么陪他去医院,该怎么跟他说那些她走过的路。该说的要说,不该说的——她也不知道什么该说什么不该说。到时候再说吧。