刺球网络安全社区

 找回密码
 立即注册

新浪微博登陆

只需一步, 快速开始

QQ登录

只需一步,快速开始

搜索
查看: 1353|回复: 0

ASP+ACCESS注入的末日

[复制链接]

 成长值: 216761

新浪微博达人勋

  • TA的每日心情

    2019-8-22 09:24
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    1134

    主题

    1717

    帖子

    37万

    积分

    管理员

    技术指数:★★★★★

    Rank: 9Rank: 9Rank: 9

    积分
    371213

    社区QQ达人最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

    QQ
    发表于 2017-2-27 09:09:59 | 显示全部楼层 |阅读模式

    前些天在论坛上看到一人在问,为什么使用啊D注入ASP+ACCESS数据库的网站时爆不出管理员的表名,遇到这种问题通常的回答就是管理员的表名比较“非主流”,因此很难猜测到,但我突然又萌生了一个想法:或许管理员密码根本就没有在数据库里。那么密码还有可能在哪里呢?比如假设管理员密码存放在一个ASCII文件里,在需要的时候就使用FSO提取出来。

    既然数据库中根本就没有管理员帐户密码,那么注入ASP+ACCESS这样的网站对于攻击者来说也就是毫无意义的了。但是ASCII文件的本质是文本流,而不是数据库,如果管理员帐户有很多,那么想要读取最后一条记录就必须先要把前面的所有内容都读取完,这样显然是不科学的,况且频繁调用FSO也是非常消耗资源的。

    201702251488010911327156.jpg

    为解决这个问题,我们可以把用户名和密码存放在一个ASP文件里,将所有帐号密码用特定字符串连接,赋值给一个变量,需要更改或者增加管理员密码的时候再调用FS0通过修改这个文件来改变这个变量的值。

    想“画瓢”的朋友请参考下面的“葫芦”模型:以下是存放管理员帐号和密码的admin.asp文件,用户名和密码使用“&”连接,不同的帐号使用“,”隔开。将这个字符串赋值给变量name_psw,这个重要的变量将贯穿整个模型:<%name_psw="namel&pswl.nama2&psw2"%>。

    下面是具体的代码,作用就是根据提交的表单来判断该用户是否为管理员:

    201702251488010798280837.jpg

    因为在核对帐户的时候只是检测了提交帐号是否为name_psw的子串,所以帐号不能为空,而且要用md5加密,否则用户提交空数据或者帐号的一部分就可以通过检测。

    下面的代码是添加管理员帐号的,通过修改admin.asp中的赋值代码来修改name_psw的值:

    201702251488010807698917.jpg

    大家在使用时一定不要省略过滤一句话木马的部分,切记!下面的代码起着修改帐号的作用,其顺序是先删除user_psw中的原始账号,然后再追加新帐号:

    201702251488010827176389.jpg

    201702251488010835388450.jpg

    如果大家仍然觉得这样不够安全,那更隐蔽的做法就是将管理员帐号放在application变量中,application是服务器级别的变量,只要IIS不关闭,该变量就不会被释放,是真正意义上的全局变量。我们可以使用application("user_psw")=request(¨new_name")&"&"&request("new_psw")的方式来赋值,这样一来,别说SQL注入找不到管理员帐号,就算是在磁盘中也找不到的。但这样做也有个缺陷,如果服务器意外关闭,那么当其恢复之后我们需要在第一时间重新设置帐号,倘若在我们不知情的情况下攻击者DDOS我们的服务器,那么重启以后攻击者有可能先于我们进入后台。所以我的程序模型规定如果application("user_psw")为空,则禁止任何人登录后台,这样来强制管理员用FTP上传ASP文件并执行它来给application("user_psw")赋值,如果攻击者连FTP都拿到了,那也就没有必要去找管理员帐号了,可以说这样的设计已经完美的多了。这种方法比起上面的要简单得多,因为省去了FSO,也不用过滤一句话木马了,限于篇幅,也为了方便大家更好的理解,我把文章中涉及到全部代码都已经收录了,里面有详细的注释。

    这样处理后,我们就可以放心的删除数据库中的用户名和密码列了(不要删除管理员表,否则程序可能会出错的)。但我们毕竟是学黑的,与普通的网管不同,因此我并不建议大家删除它们,只要将用户名或密码修改成一个假的,然后修改后台登录页面,如果对方输入了假的帐号,那就直接跳转到我们事先准备好的挂马页面上去,如此反客为主,对方反倒先成了我们的肉鸡。好了,现在大家就可以放心的撤销你网站上的一切防注入措施了。





    楼主热帖
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

    本版积分规则

    
     
     
    技术支持
    点击这里给我发消息
    在线客服
    点击这里给我发消息
    点击这里给我发消息
    刺球网安群①:
    刺球网安社区交流群①
    在线时间:
    8:30-21:00
     

    刺球网安 渝公网安备 50011402500080号 ( 渝ICP备15001097号-1 )申请友链|小黑屋| 刺球网络安全社区

    GMT, 2020-7-7 11:36 , Processed in 0.172739 second(s), 45 queries , Gzip On.

    Powered by 刺球网安

    © 2014-2025

    快速回复 返回顶部 返回列表