So, I can recommend gift shop in Artillery museum - Alexander Park, 7(http://www.artillery-museum.ru
), also in House of Military book - Nevsky Prospect, 20. (http://www.peterburg.ru/places/dom-voennoy-knigi
), but cheapest option - army store, address here http://armygoods.ru/shop_content.php?coID=20
and here http://www.voentorgspb.ru/ru/contacts.html
, and "7.62" shops - http://www.7-62.ru/index.php?aux_page=aux3
and shops "Old soldier/soldier of fortune" - http://soldat-udachi.ru/?p=nekadress
. I am not sure, that you can find all in one place. Remember, that in Russia by local orders you can not buy really weapon - only a replic, for example http://sld.ru/catalog/modeli-oruzhiya/k ... 04-g-.html
If you have russian friend in Petersburg, I also can advise visit an Apraksin market, there also some souvenir shops, but to my mind for foreigners better do not go there alone - is not the safest place.